From 51ae8c35c304f33feef7cb9709178ea7b169e8cb Mon Sep 17 00:00:00 2001 From: "382696293@qq.com" <382696293@qq.com> Date: Fri, 23 Feb 2024 11:00:37 +0800 Subject: [PATCH 01/19] =?UTF-8?q?=E5=90=8E=E7=AE=A1=EF=BC=9A=E6=8A=A4?= =?UTF-8?q?=E7=90=86=E8=AE=B0=E5=BD=95=E7=9A=84=E5=AF=BC=E5=87=BA=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/domain/entity/WxNursingLog.java | 143 ++++++++ .../domain/export/WxNursingLogExport.java | 320 ++++++++++++++++++ .../core/domain/req/WxNursingLogExportVm.java | 31 ++ .../core/mapper/WxNursingLogMapper.java | 3 + .../resources/mapper/WxNursingLogMapper.xml | 10 +- .../controller/WxNursingLogController.java | 95 ++++-- .../system/service/IWxNursingLogService.java | 3 + .../service/impl/WxNursingLogServiceImpl.java | 42 +++ .../src/views/system/nursingLog/index.vue | 200 ++++++++++- 9 files changed, 796 insertions(+), 51 deletions(-) create mode 100644 flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/export/WxNursingLogExport.java create mode 100644 flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/req/WxNursingLogExportVm.java diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxNursingLog.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxNursingLog.java index c1e5f61..aa11f4e 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxNursingLog.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxNursingLog.java @@ -81,6 +81,45 @@ public class WxNursingLog extends BaseEntity { @Excel(name = "状态", readConverterExp = "0=正常,1=停用") private Long status; + @Excel(name = "陪伴模式") + private Integer accompanyMode; + + @Excel(name = "挡位1") + private Integer gearPositionOne; + + @Excel(name = "挡位2") + private Integer gearPositionTwo; + + @Excel(name = "挡位3") + private Integer gearPositionThree; + + @Excel(name = "挡位4") + private Integer gearPositionFour; + + @Excel(name = "能量总值") + private Integer energyValue; + + @Excel(name = "水分数据1") + private Integer waterDataOne; + + @Excel(name = "水分数据2") + private Integer waterDataTwo; + + @Excel(name = "水分数据3") + private Integer waterDataThree; + + @Excel(name = "总护理天数") + private Integer nursingDays; + + @Excel(name = "本周护理天数") + private Integer nursingDaysWeek; + + @Excel(name = "本月护理天数") + private Integer nursingDaysMonth; + + @Excel(name = "本年护理天数") + private Integer nursingDaysYear; + /** * 后管展示使用 */ @@ -248,4 +287,108 @@ public class WxNursingLog extends BaseEntity { public void setInstrumentBindingTime(Date instrumentBindingTime) { this.instrumentBindingTime = instrumentBindingTime; } + + public Integer getAccompanyMode() { + return accompanyMode; + } + + public void setAccompanyMode(Integer accompanyMode) { + this.accompanyMode = accompanyMode; + } + + public Integer getGearPositionOne() { + return gearPositionOne; + } + + public void setGearPositionOne(Integer gearPositionOne) { + this.gearPositionOne = gearPositionOne; + } + + public Integer getGearPositionTwo() { + return gearPositionTwo; + } + + public void setGearPositionTwo(Integer gearPositionTwo) { + this.gearPositionTwo = gearPositionTwo; + } + + public Integer getGearPositionThree() { + return gearPositionThree; + } + + public void setGearPositionThree(Integer gearPositionThree) { + this.gearPositionThree = gearPositionThree; + } + + public Integer getGearPositionFour() { + return gearPositionFour; + } + + public void setGearPositionFour(Integer gearPositionFour) { + this.gearPositionFour = gearPositionFour; + } + + public Integer getEnergyValue() { + return energyValue; + } + + public void setEnergyValue(Integer energyValue) { + this.energyValue = energyValue; + } + + public Integer getWaterDataOne() { + return waterDataOne; + } + + public void setWaterDataOne(Integer waterDataOne) { + this.waterDataOne = waterDataOne; + } + + public Integer getWaterDataTwo() { + return waterDataTwo; + } + + public void setWaterDataTwo(Integer waterDataTwo) { + this.waterDataTwo = waterDataTwo; + } + + public Integer getWaterDataThree() { + return waterDataThree; + } + + public void setWaterDataThree(Integer waterDataThree) { + this.waterDataThree = waterDataThree; + } + + public Integer getNursingDays() { + return nursingDays; + } + + public void setNursingDays(Integer nursingDays) { + this.nursingDays = nursingDays; + } + + public Integer getNursingDaysWeek() { + return nursingDaysWeek; + } + + public void setNursingDaysWeek(Integer nursingDaysWeek) { + this.nursingDaysWeek = nursingDaysWeek; + } + + public Integer getNursingDaysMonth() { + return nursingDaysMonth; + } + + public void setNursingDaysMonth(Integer nursingDaysMonth) { + this.nursingDaysMonth = nursingDaysMonth; + } + + public Integer getNursingDaysYear() { + return nursingDaysYear; + } + + public void setNursingDaysYear(Integer nursingDaysYear) { + this.nursingDaysYear = nursingDaysYear; + } } diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/export/WxNursingLogExport.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/export/WxNursingLogExport.java new file mode 100644 index 0000000..b92bd4d --- /dev/null +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/export/WxNursingLogExport.java @@ -0,0 +1,320 @@ +package com.flossom.common.core.domain.export; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.flossom.common.core.annotation.Excel; +import com.flossom.common.core.web.domain.BaseEntity; + +import java.time.LocalTime; +import java.util.Date; + +/** + * 用户护理日志对象 + * + * @author flossom + * @date 2024-01-29 + */ +public class WxNursingLogExport { + + @Excel(name = "序号") + private Long id; + + @Excel(name = "会员昵称") + private String nickname; + + @Excel(name = "用户编号") + private Long userId; + + @Excel(name = "手机号") + private String mobile; + + @Excel(name = "仪器名称") + private String instrumentName; + + @Excel(name = "模式") + private String modeName; + + /** + * 是否在线,1在线,2离线 + */ + @Excel(name = "在线状态", readConverterExp = "1=在线,2=离线", type = Excel.Type.ALL, combo = {"1", "2"}) + private Long online; + + @Excel(name = "陪伴模式") + private Integer accompanyMode; + + @Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @Excel(name = "护理时长", dateFormat = "HH:mm:ss") + private LocalTime nursingTime; + + @Excel(name = "挡位1") + private Integer gearPositionOne; + + @Excel(name = "挡位2") + private Integer gearPositionTwo; + + @Excel(name = "挡位3") + private Integer gearPositionThree; + + @Excel(name = "挡位4") + private Integer gearPositionFour; + + @Excel(name = "能量总值") + private Integer energyValue; + + @Excel(name = "水分数据1") + private Integer waterDataOne; + + @Excel(name = "水分数据2") + private Integer waterDataTwo; + + @Excel(name = "水分数据3") + private Integer waterDataThree; + + @Excel(name = "总护理天数") + private Integer nursingDays; + + @Excel(name = "本周护理天数") + private Integer nursingDaysWeek; + + @Excel(name = "本月护理天数") + private Integer nursingDaysMonth; + + @Excel(name = "本年护理天数") + private Integer nursingDaysYear; + + @Excel(name = "最新护理时间", dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + @Excel(name = "小程序标签") + private String miniProgramTagListStr; + + @Excel(name = "外部标签") + private String wecomTagListStr; + + @Excel(name = "用户注册时间", dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date userMemberCreateTime; + + @Excel(name = "仪器绑定时间", dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date instrumentBindingTime; + + public WxNursingLogExport() { + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getNickname() { + return nickname; + } + + public void setNickname(String nickname) { + this.nickname = nickname; + } + + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + + public String getMobile() { + return mobile; + } + + public void setMobile(String mobile) { + this.mobile = mobile; + } + + public String getInstrumentName() { + return instrumentName; + } + + public void setInstrumentName(String instrumentName) { + this.instrumentName = instrumentName; + } + + public String getModeName() { + return modeName; + } + + public void setModeName(String modeName) { + this.modeName = modeName; + } + + public Long getOnline() { + return online; + } + + public void setOnline(Long online) { + this.online = online; + } + + public Integer getAccompanyMode() { + return accompanyMode; + } + + public void setAccompanyMode(Integer accompanyMode) { + this.accompanyMode = accompanyMode; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public LocalTime getNursingTime() { + return nursingTime; + } + + public void setNursingTime(LocalTime nursingTime) { + this.nursingTime = nursingTime; + } + + public Integer getGearPositionOne() { + return gearPositionOne; + } + + public void setGearPositionOne(Integer gearPositionOne) { + this.gearPositionOne = gearPositionOne; + } + + public Integer getGearPositionTwo() { + return gearPositionTwo; + } + + public void setGearPositionTwo(Integer gearPositionTwo) { + this.gearPositionTwo = gearPositionTwo; + } + + public Integer getGearPositionThree() { + return gearPositionThree; + } + + public void setGearPositionThree(Integer gearPositionThree) { + this.gearPositionThree = gearPositionThree; + } + + public Integer getGearPositionFour() { + return gearPositionFour; + } + + public void setGearPositionFour(Integer gearPositionFour) { + this.gearPositionFour = gearPositionFour; + } + + public Integer getEnergyValue() { + return energyValue; + } + + public void setEnergyValue(Integer energyValue) { + this.energyValue = energyValue; + } + + public Integer getWaterDataOne() { + return waterDataOne; + } + + public void setWaterDataOne(Integer waterDataOne) { + this.waterDataOne = waterDataOne; + } + + public Integer getWaterDataTwo() { + return waterDataTwo; + } + + public void setWaterDataTwo(Integer waterDataTwo) { + this.waterDataTwo = waterDataTwo; + } + + public Integer getWaterDataThree() { + return waterDataThree; + } + + public void setWaterDataThree(Integer waterDataThree) { + this.waterDataThree = waterDataThree; + } + + public Integer getNursingDays() { + return nursingDays; + } + + public void setNursingDays(Integer nursingDays) { + this.nursingDays = nursingDays; + } + + public Integer getNursingDaysWeek() { + return nursingDaysWeek; + } + + public void setNursingDaysWeek(Integer nursingDaysWeek) { + this.nursingDaysWeek = nursingDaysWeek; + } + + public Integer getNursingDaysMonth() { + return nursingDaysMonth; + } + + public void setNursingDaysMonth(Integer nursingDaysMonth) { + this.nursingDaysMonth = nursingDaysMonth; + } + + public Integer getNursingDaysYear() { + return nursingDaysYear; + } + + public void setNursingDaysYear(Integer nursingDaysYear) { + this.nursingDaysYear = nursingDaysYear; + } + + public Date getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + public String getMiniProgramTagListStr() { + return miniProgramTagListStr; + } + + public void setMiniProgramTagListStr(String miniProgramTagListStr) { + this.miniProgramTagListStr = miniProgramTagListStr; + } + + public String getWecomTagListStr() { + return wecomTagListStr; + } + + public void setWecomTagListStr(String wecomTagListStr) { + this.wecomTagListStr = wecomTagListStr; + } + + public Date getUserMemberCreateTime() { + return userMemberCreateTime; + } + + public void setUserMemberCreateTime(Date userMemberCreateTime) { + this.userMemberCreateTime = userMemberCreateTime; + } + + public Date getInstrumentBindingTime() { + return instrumentBindingTime; + } + + public void setInstrumentBindingTime(Date instrumentBindingTime) { + this.instrumentBindingTime = instrumentBindingTime; + } +} diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/req/WxNursingLogExportVm.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/req/WxNursingLogExportVm.java new file mode 100644 index 0000000..bd3f351 --- /dev/null +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/req/WxNursingLogExportVm.java @@ -0,0 +1,31 @@ +package com.flossom.common.core.domain.req; + +import java.util.ArrayList; +import java.util.List; + +public class WxNursingLogExportVm extends UserNursingLogReq { + + /** + * 自定导出字段 + */ + private List exportFields = new ArrayList<>(); + + private List idList = new ArrayList<>(); + + + public List getExportFields() { + return exportFields; + } + + public void setExportFields(List exportFields) { + this.exportFields = exportFields; + } + + public List getIdList() { + return idList; + } + + public void setIdList(List idList) { + this.idList = idList; + } +} diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxNursingLogMapper.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxNursingLogMapper.java index 6cd9fe0..3025590 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxNursingLogMapper.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxNursingLogMapper.java @@ -2,6 +2,7 @@ package com.flossom.common.core.mapper; import com.flossom.common.core.domain.entity.WxNursingLog; import com.flossom.common.core.domain.req.UserNursingLogVm; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -61,4 +62,6 @@ public interface WxNursingLogMapper { * @return 结果 */ public int deleteWxNursingLogByIds(Long[] ids); + + List selectWxNursingLogByIdList(@Param("idList") List idList); } diff --git a/flossom-common/flossom-common-core/src/main/resources/mapper/WxNursingLogMapper.xml b/flossom-common/flossom-common-core/src/main/resources/mapper/WxNursingLogMapper.xml index 3495513..b7031f5 100644 --- a/flossom-common/flossom-common-core/src/main/resources/mapper/WxNursingLogMapper.xml +++ b/flossom-common/flossom-common-core/src/main/resources/mapper/WxNursingLogMapper.xml @@ -88,7 +88,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} - + + + insert into wx_nursing_log diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/WxNursingLogController.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/WxNursingLogController.java index 654ff84..c78b259 100644 --- a/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/WxNursingLogController.java +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/controller/WxNursingLogController.java @@ -1,15 +1,24 @@ package com.flossom.system.controller; +import java.util.ArrayList; import java.util.List; import java.io.IOException; import java.util.stream.Collectors; import javax.servlet.http.HttpServletResponse; +import com.alibaba.nacos.shaded.com.google.common.base.Function; import com.flossom.common.core.domain.R; import com.flossom.common.core.domain.entity.WxNursingLog; +import com.flossom.common.core.domain.entity.WxUserInstrument; import com.flossom.common.core.domain.entity.WxUserMember; +import com.flossom.common.core.domain.entity.WxUserTag; +import com.flossom.common.core.domain.export.WxNursingLogExport; +import com.flossom.common.core.domain.export.WxUserMemberExport; import com.flossom.common.core.domain.req.UserNursingLogReq; +import com.flossom.common.core.domain.req.WxNursingLogExportVm; +import com.flossom.common.core.domain.req.WxUserMemberExportVm; import com.flossom.common.core.domain.req.WxUserMemberVm; +import com.flossom.common.core.domain.ret.WxUserMemberRet; import com.flossom.common.core.exception.ServiceException; import com.flossom.common.core.utils.poi.ExcelUtil; import com.flossom.common.core.web.controller.BaseController; @@ -20,6 +29,7 @@ import com.flossom.common.log.enums.BusinessType; import com.flossom.common.security.annotation.RequiresPermissions; import com.flossom.system.service.IWxNursingLogService; import com.flossom.system.service.IWxUserMemberService; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -49,18 +59,6 @@ public class WxNursingLogController extends BaseController { return getDataTable(list); } - /** - * 导出用户护理日志列表 - */ - @RequiresPermissions("system:nursingLog:export") - @Log(title = "用户护理日志", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, UserNursingLogReq userNursingLogReq) { - List list = wxNursingLogService.selectWxNursingLogList(userNursingLogReq, false); - ExcelUtil util = new ExcelUtil(WxNursingLog.class); - util.exportExcel(response, list, "用户护理日志数据"); - } - /** * 获取用户护理日志详细信息 */ @@ -70,26 +68,6 @@ public class WxNursingLogController extends BaseController { return success(wxNursingLogService.selectWxNursingLogById(id)); } - /** - * 新增用户护理日志 - */ - @RequiresPermissions("system:nursingLog:add") - @Log(title = "用户护理日志", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody WxNursingLog wxNursingLog) { - return toAjax(wxNursingLogService.insertWxNursingLog(wxNursingLog)); - } - - /** - * 修改用户护理日志 - */ - @RequiresPermissions("system:nursingLog:edit") - @Log(title = "用户护理日志", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody WxNursingLog wxNursingLog) { - return toAjax(wxNursingLogService.updateWxNursingLog(wxNursingLog)); - } - /** * 删除用户护理日志 */ @@ -135,4 +113,57 @@ public class WxNursingLogController extends BaseController { return R.ok(); } + + /** + * 批量导出护理记录数据 + */ + @RequiresPermissions("system:nursingLog:export") + @PostMapping("/batchExport") + public void batchExport(HttpServletResponse response, WxNursingLogExportVm wxNursingLogExportVm) { + List idList = wxNursingLogExportVm.getIdList(); + if (idList == null || idList.size() == 0) { + throw new ServiceException("请选择导出数据"); + } + List list = wxNursingLogService.selectWxNursingLogByIdList(wxNursingLogExportVm.getIdList()); + export(response, list, wxNursingLogExportVm.getExportFields()); + } + + /** + * 全量导出护理记录数据 + */ + @RequiresPermissions("system:nursingLog:export") + @PostMapping("/allExport") + public void allExport(HttpServletResponse response, WxNursingLogExportVm wxNursingLogExportVm) { + List list = wxNursingLogService.selectWxNursingLogList(wxNursingLogExportVm, true); + export(response, list, wxNursingLogExportVm.getExportFields()); + } + + private static void export(HttpServletResponse response, List list, List exportFields) { + List exportList = new ArrayList<>(); + WxNursingLogExport export; + for (WxNursingLog wxNursingLog : list) { + export = new WxNursingLogExport(); + BeanUtils.copyProperties(wxNursingLog, export); + exportList.add(export); + } + // 添加默认导出字段 + exportFields.add("instrumentName"); + exportFields.add("modeName"); + exportFields.add("online"); + exportFields.add("accompanyMode"); + exportFields.add("createTime"); + exportFields.add("nursingTime"); + exportFields.add("gearPositionOne"); + exportFields.add("gearPositionTwo"); + exportFields.add("gearPositionThree"); + exportFields.add("gearPositionFour"); + exportFields.add("energyValue"); + exportFields.add("waterDataOne"); + exportFields.add("waterDataTwo"); + exportFields.add("waterDataThree"); + + ExcelUtil util = new ExcelUtil(WxNursingLogExport.class); + util.exportExcel(response, exportList, "护理记录数据", exportFields); + } + } diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/IWxNursingLogService.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/IWxNursingLogService.java index 41f17d5..a2f3c5e 100644 --- a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/IWxNursingLogService.java +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/IWxNursingLogService.java @@ -61,4 +61,7 @@ public interface IWxNursingLogService { * @return 结果 */ public int deleteWxNursingLogById(Long id); + + List selectWxNursingLogByIdList(List idList); + } diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxNursingLogServiceImpl.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxNursingLogServiceImpl.java index f32a757..98548bf 100644 --- a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxNursingLogServiceImpl.java +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxNursingLogServiceImpl.java @@ -179,4 +179,46 @@ public class WxNursingLogServiceImpl implements IWxNursingLogService { public int deleteWxNursingLogById(Long id) { return wxNursingLogMapper.deleteWxNursingLogById(id); } + + + @Override + public List selectWxNursingLogByIdList(List idList) { + List wxNursingLogList = wxNursingLogMapper.selectWxNursingLogByIdList(idList); + if (wxNursingLogList != null && wxNursingLogList.size() > 0) { + wxNursingLogList.forEach(wxNursingLog -> { + WxUserMember wxUserMember = wxUserMemberMapper.selectWxUserMemberById(wxNursingLog.getUserId()); + if (wxUserMember != null) { + // 用户信息 + wxNursingLog.setHeadimg(wxUserMember.getHeadimg()); + wxNursingLog.setMobile(wxUserMember.getMobile()); + wxNursingLog.setNickname(wxUserMember.getNickname()); + wxNursingLog.setUserMemberCreateTime(wxUserMember.getCreateTime()); + // 查询标签 + WxUserTag wxUserTag = new WxUserTag(); + wxUserTag.setUserId(wxUserMember.getId()); + wxUserTag.setType(TagTypeStatusEnum.MINI_PROGRAM.getCode()); + List miniProgramTagList = wxUserTagMapper.selectWxUserTagList(wxUserTag); + if (miniProgramTagList != null && miniProgramTagList.size() > 0) { + wxNursingLog.setMiniProgramTagListStr(miniProgramTagList.stream().map(WxUserTag::getTagName).collect(Collectors.joining(","))); + } + wxUserTag.setType(TagTypeStatusEnum.ENTERPRISE_WECHAT.getCode()); + List wecomTagList = wxUserTagMapper.selectWxUserTagList(wxUserTag); + if (wecomTagList != null && wecomTagList.size() > 0) { + wxNursingLog.setWecomTagListStr(wecomTagList.stream().map(WxUserTag::getTagName).collect(Collectors.joining(","))); + } + // 仪器绑定时间 + WxUserInstrument query = new WxUserInstrument(); + query.setUserId(wxUserMember.getId()); + query.setInstrumentId(wxNursingLog.getInstrumentId()); + query.setBindingStatus(BindingStatusEnums.BINDED.getCode()); + List wxUserInstrumentList = wxUserInstrumentMapper.selectListByUserIdAndInstrumentId(query); + if (wxUserInstrumentList != null && wxUserInstrumentList.size() == 1) { + WxUserInstrument wxUserInstrument = wxUserInstrumentList.get(0); + wxNursingLog.setInstrumentBindingTime(wxUserInstrument.getUpdateTime()); + } + } + }); + } + return wxNursingLogList; + } } diff --git a/flossom-ui/src/views/system/nursingLog/index.vue b/flossom-ui/src/views/system/nursingLog/index.vue index 92516fd..eb66b82 100644 --- a/flossom-ui/src/views/system/nursingLog/index.vue +++ b/flossom-ui/src/views/system/nursingLog/index.vue @@ -124,20 +124,21 @@ 离线 - + - - - - - - - - - - - + + + + + + + + + + + + @@ -172,6 +173,64 @@ 确 定 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -254,12 +313,30 @@ export default { title: null, tagTree: [], userIdList: [], - + exportFieldsVisible: false, }, miniProgramForm: { tagIdArray: [], }, - + exportFieldsForm: { + idList: null, + exportFields: null, + }, + allFields: false, + exportFieldList: { + nickname: null, + userId: null, + mobile: null, + nursingDays: null, + nursingDaysMonth: null, + nursingDaysWeek: null, + nursingDaysYear: null, + updateTime: null, + wecomTagListStr: null, + miniProgramTagListStr: null, + instrumentBindingTime: null, + userMemberCreateTime: null, + }, // 表单参数 form: {}, // 表单校验 @@ -379,8 +456,16 @@ export default { this.getTagTree(); this.batchOperate.tagOperateVisible = true; } + /* 批量操作:导出数据 */ if (this.batchOperate.operateValue == 5) { - console.log("批量导出数据"); + if (this.ids.length == 0) { + this.$message({ + message: '请选择要操作的数据', + type: 'warning', + }) + return + } + this.batchOperate.exportFieldsVisible = true } } else { /* 全量操作 */ @@ -397,7 +482,7 @@ export default { this.batchOperate.tagOperateVisible = true; } if (this.batchOperate.operateValue == 6) { - console.log("全量导出数据"); + this.batchOperate.exportFieldsVisible = true } } } @@ -454,7 +539,7 @@ export default { this.$refs['miniProgramForm'].validate((valid) => { if (valid) { allAddMiniProgramTag( - this.miniProgramForm.tagIdArray,this.queryParams + this.miniProgramForm.tagIdArray, this.queryParams ).then((Response) => { this.$modal.msgSuccess('全量添加小程序标签成功') this.cancelMiniProgramDialog(true) @@ -468,7 +553,7 @@ export default { this.$refs['miniProgramForm'].validate((valid) => { if (valid) { allDelMiniProgramTag( - this.miniProgramForm.tagIdArray,this.queryParams + this.miniProgramForm.tagIdArray, this.queryParams ).then((Response) => { this.$modal.msgSuccess('全量删除小程序标签成功') this.cancelMiniProgramDialog(true) @@ -477,8 +562,87 @@ export default { } }) } + // 导出用户数据 + if (this.batchOperate.operateValue == 5) { + let exportFields = Object.values(this.exportFieldList).filter((val) => val != null) + if (exportFields.length == 0) { + this.$modal.msgError('请选择导出字段') + return + } + this.exportFieldsForm.idList = this.ids + this.exportFieldsForm.exportFields = exportFields + this.download('/system/nursingLog/batchExport', { + ...this.exportFieldsForm, + }, + `护理记录数据_${new Date().getTime()}.xlsx` + ) + this.cancelExportFieldsDialog(); + } + if (this.batchOperate.operateValue == 6) { + let exportFields = Object.values(this.exportFieldList).filter( + (val) => val != null + ) + if (exportFields.length == 0) { + this.$modal.msgError('请选择导出字段') + return + } + this.download('/system/nursingLog/allExport', { + ...Object.assign({}, this.queryParams, { + exportFields: exportFields, + }), + }, `护理记录数据_${new Date().getTime()}.xlsx` + ) + this.cancelExportFieldsDialog(); + } + }, + cancelExportFieldsDialog() { + this.allFields = false + this.batchOperate.exportFieldsVisible = false + this.exportFieldList = { + nickname: null, + userId: null, + mobile: null, + nursingDays: null, + nursingDaysMonth: null, + nursingDaysWeek: null, + nursingDaysYear: null, + updateTime: null, + wecomTagListStr: null, + miniProgramTagListStr: null, + instrumentBindingTime: null, + userMemberCreateTime: null, + } + }, + isExportAllFields() { + if (this.allFields) { + this.exportFieldList.nickname = 'nickname'; + this.exportFieldList.userId = 'userId'; + this.exportFieldList.mobile = 'mobile'; + this.exportFieldList.nursingDays = 'nursingDays'; + this.exportFieldList.nursingDaysMonth = 'nursingDaysMonth'; + this.exportFieldList.nursingDaysWeek = 'nursingDaysWeek'; + this.exportFieldList.nursingDaysYear = 'nursingDaysYear'; + this.exportFieldList.updateTime = 'updateTime'; + this.exportFieldList.wecomTagListStr = 'wecomTagListStr'; + this.exportFieldList.miniProgramTagListStr = 'miniProgramTagListStr'; + this.exportFieldList.instrumentBindingTime = 'instrumentBindingTime'; + this.exportFieldList.userMemberCreateTime = 'userMemberCreateTime'; + } else { + this.exportFieldList.nickname = null; + this.exportFieldList.userId = null; + this.exportFieldList.mobile = null; + this.exportFieldList.nursingDays = null; + this.exportFieldList.nursingDaysMonth = null; + this.exportFieldList.nursingDaysWeek = null; + this.exportFieldList.nursingDaysYear = null; + this.exportFieldList.updateTime = null; + this.exportFieldList.wecomTagListStr = null; + this.exportFieldList.miniProgramTagListStr = null; + this.exportFieldList.instrumentBindingTime = null; + this.exportFieldList.userMemberCreateTime = null; + } }, // 查询仪器列表 queryInstrument() { From 2ef834ebf40351ed68d0ef20cd8fda10a7af8cdb Mon Sep 17 00:00:00 2001 From: "382696293@qq.com" <382696293@qq.com> Date: Fri, 23 Feb 2024 11:38:26 +0800 Subject: [PATCH 02/19] =?UTF-8?q?=E5=90=8E=E7=AE=A1=EF=BC=9A=E3=80=90ID100?= =?UTF-8?q?0466=E3=80=91=E4=BB=AA=E5=99=A8=E7=AE=A1=E7=90=86-=E5=BA=8F?= =?UTF-8?q?=E5=88=97=E5=8F=B7=E5=88=97=E8=A1=A8=EF=BC=8C=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E4=BB=85=E6=94=AF=E6=8C=81=E5=A1=AB=E5=86=99=E3=80=90=E6=9C=89?= =?UTF-8?q?=E6=95=88=E6=97=A0=E6=95=88=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../req/WxInstrumentSerialImportVm.java | 3 ++- .../InstrumentSerialValidStatusAdapter.java | 25 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/utils/poi/InstrumentSerialValidStatusAdapter.java diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/req/WxInstrumentSerialImportVm.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/req/WxInstrumentSerialImportVm.java index 2ca6648..78094f4 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/req/WxInstrumentSerialImportVm.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/req/WxInstrumentSerialImportVm.java @@ -2,6 +2,7 @@ package com.flossom.common.core.domain.req; import com.flossom.common.core.annotation.Excel; import com.flossom.common.core.annotation.Excel.Type; +import com.flossom.common.core.utils.poi.InstrumentSerialValidStatusAdapter; import java.util.Date; @@ -23,7 +24,7 @@ public class WxInstrumentSerialImportVm { private String serial; /** 序列号有效状态,1有效,0无效 */ - @Excel(name = "有效状态:1有效,0无效",type = Type.IMPORT, combo = {"1","0"}) + @Excel(name = "有效状态:1有效,0无效",type = Type.IMPORT, combo = {"有效","无效"}, handler = InstrumentSerialValidStatusAdapter.class) private String validStatus; diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/utils/poi/InstrumentSerialValidStatusAdapter.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/utils/poi/InstrumentSerialValidStatusAdapter.java new file mode 100644 index 0000000..7ee8f0a --- /dev/null +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/utils/poi/InstrumentSerialValidStatusAdapter.java @@ -0,0 +1,25 @@ +package com.flossom.common.core.utils.poi; + +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Workbook; + +/** + * {@link com.flossom.common.core.domain.req.WxInstrumentSerialImportVm#validStatus} + */ +public class InstrumentSerialValidStatusAdapter implements ExcelHandlerAdapter { + + + @Override + public Object format(Object value, String[] args, Cell cell, Workbook wb) { + String v = (String) value; + if (StringUtils.equals(v, "有效")) { + return 1; + } + if (StringUtils.equals(v, "无效")) { + return 0; + } + return null; + } + +} From 22033bce801233ec1ff3c35bb5f3258c8f2bb7ea Mon Sep 17 00:00:00 2001 From: "382696293@qq.com" <382696293@qq.com> Date: Fri, 23 Feb 2024 11:53:59 +0800 Subject: [PATCH 03/19] =?UTF-8?q?=E5=90=8E=E7=AE=A1=EF=BC=9A=E3=80=90ID100?= =?UTF-8?q?0465=E3=80=91=E4=BB=AA=E5=99=A8=E7=AE=A1=E7=90=86-=E5=BA=8F?= =?UTF-8?q?=E5=88=97=E5=8F=B7=E5=88=97=E8=A1=A8=E3=80=90=E6=9C=89=E6=95=88?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E3=80=91=E6=9C=AA=E9=BB=98=E8=AE=A4=E5=85=A8?= =?UTF-8?q?=E9=83=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- flossom-ui/src/views/system/instrumentSerial/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flossom-ui/src/views/system/instrumentSerial/index.vue b/flossom-ui/src/views/system/instrumentSerial/index.vue index 364c8fc..8781f9d 100644 --- a/flossom-ui/src/views/system/instrumentSerial/index.vue +++ b/flossom-ui/src/views/system/instrumentSerial/index.vue @@ -45,7 +45,7 @@ :style="{ width: '100%' }" clearable > - + From d5a9b54d7238cdb40c278552a8b2fe52e36f3ebf Mon Sep 17 00:00:00 2001 From: "382696293@qq.com" <382696293@qq.com> Date: Fri, 23 Feb 2024 13:46:44 +0800 Subject: [PATCH 04/19] =?UTF-8?q?=E5=90=8E=E7=AE=A1=EF=BC=9A=E3=80=90ID100?= =?UTF-8?q?0463=E3=80=91=E4=BB=AA=E5=99=A8=E7=AE=A1=E7=90=86-=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E4=BB=AA=E5=99=A8=E7=AE=A1=E7=90=86-=E6=8D=A2?= =?UTF-8?q?=E7=BB=91=E5=BA=8F=E5=88=97=E5=8F=B7=E8=BE=93=E5=85=A5=E4=B8=AD?= =?UTF-8?q?=E6=96=87=EF=BC=8C=E6=8F=90=E7=A4=BA=E6=9C=89=E8=AF=AF=EF=BC=8C?= =?UTF-8?q?=E5=BA=94=E8=AF=A5=E6=8F=90=E7=A4=BA=EF=BC=9A=E5=BA=8F=E5=88=97?= =?UTF-8?q?=E5=8F=B7=E4=BB=85=E6=94=AF=E6=8C=81=E8=BE=93=E5=85=A5=E8=8B=B1?= =?UTF-8?q?=E6=96=87=E3=80=81=E6=95=B0=E5=AD=97=E5=92=8C=E5=AD=97=E7=AC=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- flossom-ui/src/views/system/userInstrument/index.vue | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/flossom-ui/src/views/system/userInstrument/index.vue b/flossom-ui/src/views/system/userInstrument/index.vue index 030476b..0247f54 100644 --- a/flossom-ui/src/views/system/userInstrument/index.vue +++ b/flossom-ui/src/views/system/userInstrument/index.vue @@ -665,6 +665,11 @@ export default { this.$modal.msgError("序列号不能为空"); return; } + var pattern = /^[a-zA-Z0-9\s]+$/; + if (!pattern.test(this.serialForm.serial)) { + this.$modal.msgError("请输入正确的序列号"); + return; + } changeSerial(this.serialForm).then(response => { if (response.data.code != 200) { this.$modal.msgError(response.data.message); From 11483eaccddb0a25ab181af59613147f2cb06328 Mon Sep 17 00:00:00 2001 From: "382696293@qq.com" <382696293@qq.com> Date: Fri, 23 Feb 2024 14:00:21 +0800 Subject: [PATCH 05/19] =?UTF-8?q?=E5=90=8E=E7=AE=A1=EF=BC=9A=E3=80=90ID100?= =?UTF-8?q?0462=E3=80=91=E4=BB=AA=E5=99=A8=E7=AE=A1=E7=90=86-=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E4=BB=AA=E5=99=A8=E7=BB=91=E5=AE=9A=E7=BB=91=E5=AE=9A?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E4=B8=BA=EF=BC=9A=E5=B7=B2=E8=A7=A3=E7=BB=91?= =?UTF-8?q?=EF=BC=8C=E6=93=8D=E4=BD=9C=E9=A1=B9=E3=80=90=E8=A7=A3=E7=BB=91?= =?UTF-8?q?=E3=80=91=E6=8C=89=E9=92=AE=E6=9C=AA=E7=BD=AE=E7=81=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- flossom-ui/src/views/system/userInstrument/index.vue | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/flossom-ui/src/views/system/userInstrument/index.vue b/flossom-ui/src/views/system/userInstrument/index.vue index 0247f54..ee43559 100644 --- a/flossom-ui/src/views/system/userInstrument/index.vue +++ b/flossom-ui/src/views/system/userInstrument/index.vue @@ -161,6 +161,16 @@ type="text" icon="el-icon-delete" @click="bingCancel(scope.row)" + v-if="scope.row.bindingStatus == 0" + v-hasPermi="['system:instrument:edit']" + >解绑 + 解绑 Date: Fri, 23 Feb 2024 14:37:56 +0800 Subject: [PATCH 06/19] =?UTF-8?q?=E4=BB=AA=E5=99=A8=E5=BA=8F=E5=88=97?= =?UTF-8?q?=E5=8F=B7=E5=85=B3=E8=81=94=E5=8E=BB=E9=99=A4=E4=BB=AA=E5=99=A8?= =?UTF-8?q?=E5=90=8D=E5=AD=97=E6=AE=B5=E5=86=97=E4=BD=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/entity/WxInstrumentSerial.java | 22 +++---------------- .../mapper/WxInstrumentSerialMapper.xml | 8 +------ .../impl/WxInstrumentSerialServiceImpl.java | 17 ++++++++++---- .../impl/WxUserInstrumentServiceImpl.java | 5 ++++- 4 files changed, 21 insertions(+), 31 deletions(-) diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxInstrumentSerial.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxInstrumentSerial.java index 6206a2a..14bad3b 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxInstrumentSerial.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxInstrumentSerial.java @@ -25,10 +25,6 @@ public class WxInstrumentSerial extends BaseEntity @Excel(name = "仪器id") private Long instrumentId; - /** 仪器名称 */ - @Excel(name = "仪器名称") - private String instrumentName; - /** 来源 */ @Excel(name = "来源") private String source; @@ -55,6 +51,9 @@ public class WxInstrumentSerial extends BaseEntity private String queryInstrumentIds; + /** 仪器名称 */ + private String instrumentName; + /** * 自定导出字段 */ @@ -166,19 +165,4 @@ public class WxInstrumentSerial extends BaseEntity this.instrumentSerialIdList = instrumentSerialIdList; } - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("instrumentId", getInstrumentId()) - .append("instrumentName", getInstrumentName()) - .append("serial", getSerial()) - .append("bindingStatus", getBindingStatus()) - .append("validStatus", getValidStatus()) - .append("status", getStatus()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("remark", getRemark()) - .toString(); - } } diff --git a/flossom-common/flossom-common-core/src/main/resources/mapper/WxInstrumentSerialMapper.xml b/flossom-common/flossom-common-core/src/main/resources/mapper/WxInstrumentSerialMapper.xml index 7d39cf5..7f27e46 100644 --- a/flossom-common/flossom-common-core/src/main/resources/mapper/WxInstrumentSerialMapper.xml +++ b/flossom-common/flossom-common-core/src/main/resources/mapper/WxInstrumentSerialMapper.xml @@ -7,7 +7,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - @@ -19,14 +18,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select id, source,instrument_id, instrument_name, serial, binding_status, valid_status, status, create_by, create_time, remark from wx_instrument_serial + select id, source,instrument_id, serial, binding_status, valid_status, status, create_by, create_time, remark from wx_instrument_serial @@ -60,7 +59,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and user_id = #{userId} and serial like concat('%', #{serial}, '%') and instrument_id like concat('%', #{instrumentId}, '%') - and instrument_name like concat('%', #{instrumentName}, '%') and serial_image = #{serialImage} and guarantee = #{guarantee} and guarantee_endtime = #{guaranteeEndtime} @@ -106,7 +104,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" user_id, serial, instrument_id, - instrument_name, serial_image, guarantee, guarantee_endtime, @@ -122,7 +119,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{userId}, #{serial}, #{instrumentId}, - #{instrumentName}, #{serialImage}, #{guarantee}, #{guaranteeEndtime}, @@ -142,7 +138,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" user_id = #{userId}, serial = #{serial}, instrument_id = #{instrumentId}, - instrument_name = #{instrumentName}, serial_image = #{serialImage}, guarantee = #{guarantee}, guarantee_endtime = #{guaranteeEndtime}, diff --git a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java index 9e94012..40efd74 100644 --- a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java +++ b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java @@ -221,7 +221,6 @@ public class WxInstrumentServiceImpl implements IWxInstrumentService { saveEntity.setSerial(serial); saveEntity.setSerialImage(serialImage); saveEntity.setInstrumentId(wxInstrumentSerial.getInstrumentId()); - saveEntity.setInstrumentName(wxInstrumentSerial.getInstrumentName()); saveEntity.setGuarantee(wxInstrument.getGuarantee()); if (wxInstrument.getGuarantee() != null && wxInstrument.getGuarantee() >= 0) { Instant instant = LocalDateTime.now().plusYears(wxInstrument.getGuarantee()).atZone(ZoneId.systemDefault()).toInstant(); @@ -380,7 +379,7 @@ public class WxInstrumentServiceImpl implements IWxInstrumentService { oldUserInstrumentLog.setUserId(wxUserMember.getId()); oldUserInstrumentLog.setSerial(wxUserInstrument.getSerial()); oldUserInstrumentLog.setInstrumentId(wxUserInstrument.getInstrumentId()); - oldUserInstrumentLog.setInstrumentName(wxUserInstrument.getInstrumentName()); + oldUserInstrumentLog.setInstrumentName(wxInstrument.getName()); oldUserInstrumentLog.setSerialImage(wxUserInstrument.getSerialImage()); oldUserInstrumentLog.setGuarantee(wxUserInstrument.getGuarantee()); oldUserInstrumentLog.setGuaranteeEndtime(wxUserInstrument.getGuaranteeEndtime()); @@ -395,7 +394,7 @@ public class WxInstrumentServiceImpl implements IWxInstrumentService { newUserInstrumentLog.setUserId(wxUserMember.getId()); newUserInstrumentLog.setSerial(serial); newUserInstrumentLog.setInstrumentId(wxUserInstrument.getInstrumentId()); - newUserInstrumentLog.setInstrumentName(wxUserInstrument.getInstrumentName()); + newUserInstrumentLog.setInstrumentName(wxInstrument.getName()); newUserInstrumentLog.setSerialImage(wxUserInstrument.getSerialImage()); newUserInstrumentLog.setGuarantee(wxUserInstrument.getGuarantee()); newUserInstrumentLog.setGuaranteeEndtime(updateEntity.getGuaranteeEndtime()); diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxUserInstrumentServiceImpl.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxUserInstrumentServiceImpl.java index 9d98851..8faf06d 100644 --- a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxUserInstrumentServiceImpl.java +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxUserInstrumentServiceImpl.java @@ -124,7 +124,10 @@ public class WxUserInstrumentServiceImpl implements IWxUserInstrumentService wxInstrumentSerialLog.setUserMobile(userMember.getMobile()); wxInstrumentSerialLog.setUserHeadimg(userMember.getHeadimg()); wxInstrumentSerialLog.setInstrumentId(userInstrument.getInstrumentId()); - wxInstrumentSerialLog.setInstrumentName(userInstrument.getInstrumentName()); + WxInstrument wxInstrument = wxInstrumentMapper.selectWxInstrumentById(userInstrument.getInstrumentId()); + if(wxInstrument != null) { + wxInstrumentSerialLog.setInstrumentName(wxInstrument.getName()); + } wxInstrumentSerialLog.setSerial(userInstrument.getSerial()); wxInstrumentSerialLog.setBindingStatus(BindingStatusEnums.UN_BOUND.getCode()); instrumentSerialLogMapper.insertWxInstrumentSerialLog(wxInstrumentSerialLog); @@ -208,10 +211,6 @@ public class WxUserInstrumentServiceImpl implements IWxUserInstrumentService WxInstrumentSerial instrumentSerialVo = serialList.get(0); userInstrumentRecord.setInstrumentId(instrumentSerialVo.getInstrumentId()); userInstrumentRecord.setSerial(instrumentSerialVo.getSerial()); - WxInstrument wxInstrument = wxInstrumentMapper.selectWxInstrumentById(instrumentSerialVo.getInstrumentId()); - if(wxInstrument != null) { - userInstrumentRecord.setInstrumentName(wxInstrument.getName()); - } // userInstrumentRecord.setSerialImage(userInstrument.getSerialImage()); // 从新绑定 this.saveLog(userInstrumentRecord,0); @@ -345,7 +344,10 @@ public class WxUserInstrumentServiceImpl implements IWxUserInstrumentService log.setGuarantee(userInstrumentRecord.getGuarantee()); log.setInstrumentId(userInstrumentRecord.getInstrumentId()); log.setUserId(userInstrumentRecord.getUserId()); - log.setInstrumentName(userInstrumentRecord.getInstrumentName()); + WxInstrument wxInstrument = wxInstrumentMapper.selectWxInstrumentById(userInstrumentRecord.getInstrumentId()); + if(wxInstrument != null) { + log.setInstrumentName(wxInstrument.getName()); + } log.setSerialImage(userInstrumentRecord.getSerialImage()); log.setSerial(userInstrumentRecord.getSerial()); log.setGuaranteeEndtime(userInstrumentRecord.getGuaranteeEndtime()); diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxUserMemberServiceImpl.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxUserMemberServiceImpl.java index 2645d1d..ea13b66 100644 --- a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxUserMemberServiceImpl.java +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxUserMemberServiceImpl.java @@ -70,6 +70,9 @@ public class WxUserMemberServiceImpl implements IWxUserMemberService { @Autowired private WxInstrumentSerialMapper wxInstrumentSerialMapper; + @Autowired + private WxInstrumentMapper wxInstrumentMapper; + /** * 查询用户 * @@ -424,7 +427,16 @@ public class WxUserMemberServiceImpl implements IWxUserMemberService { wxUserInstrument.setUserId(wxUserMemberRet.getId()); wxUserInstrument.setBindingStatus(BindingStatusEnums.BINDED.getCode()); wxUserInstrument.setStatus(Status.OK.getCode().longValue()); - wxUserMemberRet.setInstrumentList(wxUserInstrumentMapper.selectWxUserInstrumentList(wxUserInstrument)); + List userInstrumentList = wxUserInstrumentMapper.selectWxUserInstrumentList(wxUserInstrument); + if(userInstrumentList != null && userInstrumentList.size() > 0) { + userInstrumentList.forEach(ui -> { + WxInstrument wxInstrument = wxInstrumentMapper.selectWxInstrumentById(ui.getInstrumentId()); + if(wxInstrument != null) { + ui.setInstrumentName(wxInstrument.getName()); + } + }); + } + wxUserMemberRet.setInstrumentList(userInstrumentList); } } return wxUserMemberRetList; From c305734a7ae0e2d4e74c0bf14e5808762f4ec126 Mon Sep 17 00:00:00 2001 From: "382696293@qq.com" <382696293@qq.com> Date: Fri, 23 Feb 2024 15:40:00 +0800 Subject: [PATCH 08/19] =?UTF-8?q?=E5=88=A4=E6=96=AD=E5=BA=8F=E5=88=97?= =?UTF-8?q?=E5=8F=B7=E6=98=AF=E5=90=A6=E8=A2=AB=E5=88=AB=E4=BA=BA=E7=BB=91?= =?UTF-8?q?=E5=AE=9A=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/WxUserInstrumentMapper.xml | 1 + .../miniProgram/service/impl/WxInstrumentServiceImpl.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserInstrumentMapper.xml b/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserInstrumentMapper.xml index 1ac9443..93b2a4d 100644 --- a/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserInstrumentMapper.xml +++ b/flossom-common/flossom-common-core/src/main/resources/mapper/WxUserInstrumentMapper.xml @@ -84,6 +84,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select count(1) from wx_user_instrument and user_id != #{userId} + and serial = #{serial} and instrument_id = #{instrumentId} and binding_status = #{bindingStatus} and status = #{status} diff --git a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java index 40efd74..337762d 100644 --- a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java +++ b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java @@ -199,7 +199,7 @@ public class WxInstrumentServiceImpl implements IWxInstrumentService { /* 2.2.1、判断序列号是否被别人绑定了 */ WxUserInstrument query = new WxUserInstrument(); query.setUserId(wxUserMember.getId()); - query.setInstrumentId(wxInstrumentSerial.getInstrumentId()); + query.setSerial(serial); query.setStatus(Status.OK.getCode().longValue()); query.setBindingStatus(BindingStatusEnums.BINDED.getCode()); Integer num = wxUserInstrumentMapper.selectUiByInstrumentId(query); From e0af7e8fad8a71d02ba5d6c08b2e383e0e213431 Mon Sep 17 00:00:00 2001 From: "382696293@qq.com" <382696293@qq.com> Date: Fri, 23 Feb 2024 16:00:27 +0800 Subject: [PATCH 09/19] =?UTF-8?q?Bug:ID1000473=E3=80=91=E7=BB=91=E5=AE=9A?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E8=A7=86=E9=A2=91=E9=A1=B6=E9=83=A8=E6=8C=87?= =?UTF-8?q?=E5=BC=95=E7=9A=84=E8=A7=86=E9=A2=91=E6=B2=A1=E6=9C=89=E5=BE=AA?= =?UTF-8?q?=E7=8E=AF=E6=92=AD=E6=94=BE=EF=BC=8C=E5=90=8E=E7=AE=A1=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E4=B8=8A=E4=BC=A0=E8=A7=86=E9=A2=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/system/instrument/index.vue | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/flossom-ui/src/views/system/instrument/index.vue b/flossom-ui/src/views/system/instrument/index.vue index fa3d5ca..16285a3 100644 --- a/flossom-ui/src/views/system/instrument/index.vue +++ b/flossom-ui/src/views/system/instrument/index.vue @@ -1279,6 +1279,17 @@ import draggable from 'vuedraggable' export default { name: 'Instrument', components: { Treeselect, draggable }, + props: { + // 大小限制(MB) + fileSize: { + type: Number, + default: 1, + }, + fileType: { + type: Array, + default: () => ["bmp", "gif", "jpg", "jpeg", "png", "mp4", "avi", "rmvb"], + }, + }, data() { return { // 遮罩层 @@ -1504,15 +1515,6 @@ export default { sortMode: [], }, newModeOptionList: [], - fileType: { - type: Array, - default: () => ["bmp", "gif", "jpg", "jpeg", "png", "mp4", "avi", "rmvb"], - }, - // 大小限制(MB) - fileSize: { - type: Number, - default: 1, - }, } }, created() { @@ -2447,7 +2449,7 @@ export default { if (this.fileType) { const fileName = file.name.split('.'); const fileExt = fileName[fileName.length - 1]; - const isTypeOk = this.fileType.default().indexOf(fileExt) >= 0; + const isTypeOk = this.fileType.indexOf(fileExt) >= 0; if (!isTypeOk) { this.$modal.msgError(`文件格式不正确`); return false; @@ -2458,7 +2460,7 @@ export default { if (this.fileSize) { const isLt = file.size / 1024 / 1024 < this.fileSize; if (!isLt) { - this.$modal.msgError(`上传文件大小不能超过 ${this.fileSize.default} MB!`); + this.$modal.msgError(`上传文件大小不能超过 ${this.fileSize} MB!`); return false; } } From 3191bdd3ecfd1497cb64b0e32b880c98be9bd4aa Mon Sep 17 00:00:00 2001 From: "382696293@qq.com" <382696293@qq.com> Date: Fri, 23 Feb 2024 17:02:55 +0800 Subject: [PATCH 10/19] =?UTF-8?q?Bug:=E3=80=90ID1000469=E3=80=91=E4=BB=AA?= =?UTF-8?q?=E5=99=A8=E7=AE=A1=E7=90=86-=E5=BA=8F=E5=88=97=E5=8F=B7?= =?UTF-8?q?=E5=88=97=E8=A1=A8=EF=BC=8C=E6=96=B0=E5=A2=9E=E5=BA=8F=E5=88=97?= =?UTF-8?q?=E5=8F=B7=E4=B8=BA=E4=B8=AD=E6=96=87=EF=BC=8C=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=88=90=E5=8A=9F=EF=BC=8C=E8=B6=85=E8=BF=87=E4=B8=89=E5=8D=81?= =?UTF-8?q?=E4=B8=AA=E5=AD=97=E7=AC=A6=EF=BC=8C=E6=8F=90=E7=A4=BA=EF=BC=9A?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E5=BC=82=E5=B8=B8=EF=BC=8C=E8=AF=B7=E8=81=94?= =?UTF-8?q?=E7=B3=BB=E7=AE=A1=E7=90=86=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- flossom-ui/src/views/system/instrumentSerial/index.vue | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/flossom-ui/src/views/system/instrumentSerial/index.vue b/flossom-ui/src/views/system/instrumentSerial/index.vue index 8781f9d..f40e052 100644 --- a/flossom-ui/src/views/system/instrumentSerial/index.vue +++ b/flossom-ui/src/views/system/instrumentSerial/index.vue @@ -86,7 +86,6 @@ >确认 - - + @@ -564,6 +563,12 @@ export default { submitForm() { this.$refs["form"].validate(valid => { if (valid) { + var pattern = /^[a-zA-Z0-9\s]+$/; + if (!pattern.test(this.form.serial) || this.form.serial.trim().length === 0 + || this.form.serial.trim().length > 30) { + this.$modal.msgError("请输入正确的序列号"); + return; + } if (this.form.id != null) { updateSerial(this.form).then(response => { this.$modal.msgSuccess("修改成功"); From b00735b2aa0b80b6e7d15504d631dde0cb422efe Mon Sep 17 00:00:00 2001 From: "382696293@qq.com" <382696293@qq.com> Date: Fri, 23 Feb 2024 17:21:43 +0800 Subject: [PATCH 11/19] =?UTF-8?q?Bug:=E3=80=90ID1000469=E3=80=91ID1000468?= =?UTF-8?q?=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- flossom-ui/src/views/system/instrumentSerial/index.vue | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flossom-ui/src/views/system/instrumentSerial/index.vue b/flossom-ui/src/views/system/instrumentSerial/index.vue index f40e052..c0f1a57 100644 --- a/flossom-ui/src/views/system/instrumentSerial/index.vue +++ b/flossom-ui/src/views/system/instrumentSerial/index.vue @@ -196,13 +196,12 @@ - + + clearable> Date: Fri, 23 Feb 2024 17:28:47 +0800 Subject: [PATCH 12/19] =?UTF-8?q?Bug:=E6=A8=A1=E5=BC=8F=E7=9A=84=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E6=97=B6=E9=97=B4=E6=A0=BC=E5=BC=8F=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../flossom/common/core/domain/entity/WxModeServiceInfo.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxModeServiceInfo.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxModeServiceInfo.java index 8dddc0f..d66b4ce 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxModeServiceInfo.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxModeServiceInfo.java @@ -26,12 +26,12 @@ public class WxModeServiceInfo extends BaseEntity private Long modeId; /** 服务开始时间 */ - @JsonFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "HH:mm:ss") @Excel(name = "服务开始时间", width = 30, dateFormat = "yyyy-MM-dd") private Date serviceStartTime; /** 服务结束时间 */ - @JsonFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "HH:mm:ss") @Excel(name = "服务结束时间", width = 30, dateFormat = "yyyy-MM-dd") private Date serviceEndTime; From a5f34fda1f5f719ec53daffc298c2f7be397de0a Mon Sep 17 00:00:00 2001 From: "382696293@qq.com" <382696293@qq.com> Date: Fri, 23 Feb 2024 18:04:44 +0800 Subject: [PATCH 13/19] =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/domain/entity/WxInstrument.java | 5 ++--- .../service/impl/WxInstrumentServiceImpl.java | 2 +- .../service/impl/WxNursingLogServiceImpl.java | 11 ++--------- 3 files changed, 5 insertions(+), 13 deletions(-) diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxInstrument.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxInstrument.java index c4d7115..8ffabf4 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxInstrument.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxInstrument.java @@ -4,9 +4,8 @@ import java.time.LocalDateTime; import java.time.LocalTime; import com.fasterxml.jackson.annotation.JsonFormat; +import com.flossom.common.core.utils.DateUtils; import com.flossom.common.core.web.domain.BaseEntity; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; /** * 仪器列对象 wx_instrument @@ -364,7 +363,7 @@ public class WxInstrument extends BaseEntity { this.nursingTime = nursingTime; // 将 localTime 转为 分秒 格式 if (nursingTime != null) { - this.nursingTimeStr = String.format("%02d:%02d", nursingTime.getMinute(), nursingTime.getSecond()); + this.nursingTimeStr = DateUtils.formatMS(nursingTime.getSecond()); } } diff --git a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java index 337762d..6fdabb0 100644 --- a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java +++ b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java @@ -463,7 +463,7 @@ public class WxInstrumentServiceImpl implements IWxInstrumentService { // 将 localTime 转为 分秒 格式 if (wxModeRet.getModeTime() != null) { - wxModeRet.setModeTimeStr(String.format("%02d:%02d", wxModeRet.getModeTime().getMinute(), wxModeRet.getModeTime().getSecond())); + wxModeRet.setModeTimeStr(DateUtils.formatMS(wxModeRet.getModeTime().getSecond())); } wxModeRetList.add(wxModeRet); } diff --git a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxNursingLogServiceImpl.java b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxNursingLogServiceImpl.java index e9027e4..4ebfb69 100644 --- a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxNursingLogServiceImpl.java +++ b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxNursingLogServiceImpl.java @@ -68,17 +68,10 @@ public class WxNursingLogServiceImpl implements IWxNursingLogService { totalNursingSecond += wxNursingLog.getNursingTime().toSecondOfDay(); } } - wxNursingStatisticsRet.setNursingTime(formatDuration(totalNursingSecond)); + wxNursingStatisticsRet.setNursingTime(DateUtils.formatHMS(totalNursingSecond)); return wxNursingStatisticsRet; } - return new WxNursingStatisticsRet(0, formatDuration(0)); - } - - private String formatDuration(int seconds) { - int hours = seconds / 3600; - int minutes = (seconds % 3600) / 60; - int remainingSeconds = seconds % 60; - return String.format("%02d:%02d:%02d", hours, minutes, remainingSeconds); + return new WxNursingStatisticsRet(0, DateUtils.formatHMS(0)); } /** From 0065d417bf3512cfaea6f9dee5a953c8001210ce Mon Sep 17 00:00:00 2001 From: "382696293@qq.com" <382696293@qq.com> Date: Fri, 23 Feb 2024 18:05:03 +0800 Subject: [PATCH 14/19] =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../flossom/common/core/utils/DateUtils.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/utils/DateUtils.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/utils/DateUtils.java index 07260d1..fc83c52 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/utils/DateUtils.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/utils/DateUtils.java @@ -180,4 +180,29 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault()); return Date.from(zdt.toInstant()); } + + /** + * 根据秒数,返回格式化的时分秒,例如 50:40:30(50小时40分钟30秒) + * @param seconds + * @return + */ + public static String formatHMS(int seconds) { + int hours = seconds / 3600; + int minutes = (seconds % 3600) / 60; + int remainingSeconds = seconds % 60; + return String.format("%02d:%02d:%02d", hours, minutes, remainingSeconds); + } + + /** + * 根据秒数,返回格式化的分秒,例如 140:30(140分钟30秒) + * @param seconds + * @return + */ + public static String formatMS(int seconds) { + int minutes = seconds / 60; + int remainingSeconds = seconds % 60; + return String.format("%02d:%02d", minutes, remainingSeconds); + } + + } From 71e02685eb0cce0ef1dc35e613756390a1c7f6c3 Mon Sep 17 00:00:00 2001 From: "382696293@qq.com" <382696293@qq.com> Date: Mon, 26 Feb 2024 10:05:08 +0800 Subject: [PATCH 15/19] =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/domain/entity/WxInstrument.java | 3 +- .../core/domain/entity/WxModeServiceInfo.java | 26 +++++++++++++++ .../service/impl/WxInstrumentServiceImpl.java | 32 +++++++++++++++++-- 3 files changed, 58 insertions(+), 3 deletions(-) diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxInstrument.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxInstrument.java index 8ffabf4..2e5b874 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxInstrument.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxInstrument.java @@ -2,6 +2,7 @@ package com.flossom.common.core.domain.entity; import java.time.LocalDateTime; import java.time.LocalTime; +import java.time.temporal.ChronoField; import com.fasterxml.jackson.annotation.JsonFormat; import com.flossom.common.core.utils.DateUtils; @@ -363,7 +364,7 @@ public class WxInstrument extends BaseEntity { this.nursingTime = nursingTime; // 将 localTime 转为 分秒 格式 if (nursingTime != null) { - this.nursingTimeStr = DateUtils.formatMS(nursingTime.getSecond()); + this.nursingTimeStr = DateUtils.formatMS(nursingTime.getLong(ChronoField.SECOND_OF_DAY)); } } diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxModeServiceInfo.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxModeServiceInfo.java index d66b4ce..f82f956 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxModeServiceInfo.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/domain/entity/WxModeServiceInfo.java @@ -30,11 +30,21 @@ public class WxModeServiceInfo extends BaseEntity @Excel(name = "服务开始时间", width = 30, dateFormat = "yyyy-MM-dd") private Date serviceStartTime; + /** + * 服务开始时间 格式化 + */ + private String serviceStartTimeStr; + /** 服务结束时间 */ @JsonFormat(pattern = "HH:mm:ss") @Excel(name = "服务结束时间", width = 30, dateFormat = "yyyy-MM-dd") private Date serviceEndTime; + /** + * 服务结束时间 格式化 + */ + private String serviceEndTimeStr; + /** 启动图片资源 */ @Excel(name = "启动图片资源") private String startSource; @@ -109,6 +119,22 @@ public class WxModeServiceInfo extends BaseEntity this.modeId = modeId; } + public String getServiceStartTimeStr() { + return serviceStartTimeStr; + } + + public void setServiceStartTimeStr(String serviceStartTimeStr) { + this.serviceStartTimeStr = serviceStartTimeStr; + } + + public String getServiceEndTimeStr() { + return serviceEndTimeStr; + } + + public void setServiceEndTimeStr(String serviceEndTimeStr) { + this.serviceEndTimeStr = serviceEndTimeStr; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java index 6fdabb0..59b24a7 100644 --- a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java +++ b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java @@ -26,7 +26,9 @@ import java.time.Instant; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.ZoneId; +import java.time.temporal.ChronoField; import java.util.ArrayList; +import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -459,11 +461,37 @@ public class WxInstrumentServiceImpl implements IWxInstrumentService { // 查询 服务集合 WxModeServiceInfo wxModeServiceInfo = new WxModeServiceInfo(); wxModeServiceInfo.setModeId(wxMode.getId()); - wxModeRet.setServiceData(wxModeServiceInfoMapper.selectWxModeServiceInfoList(wxModeServiceInfo)); + List wxModeServiceInfoList = wxModeServiceInfoMapper.selectWxModeServiceInfoList(wxModeServiceInfo); + if (wxModeServiceInfoList != null && wxModeServiceInfoList.size() > 0) { + Calendar calendar = Calendar.getInstance(); + for (WxModeServiceInfo modeServiceInfo : wxModeServiceInfoList) { + if (modeServiceInfo.getServiceStartTime() != null) { + Date date = wxModeServiceInfo.getServiceStartTime(); + calendar.setTime(date); + modeServiceInfo.setServiceStartTimeStr( + DateUtils.formatMS(calendar.get(Calendar.HOUR_OF_DAY) * 60 * 60 + + calendar.get(Calendar.MINUTE) * 60 + + calendar.get(Calendar.SECOND) + ) + ); + } + if (modeServiceInfo.getServiceEndTime() != null) { + Date date = wxModeServiceInfo.getServiceEndTime(); + calendar.setTime(date); + modeServiceInfo.setServiceEndTimeStr( + DateUtils.formatMS(calendar.get(Calendar.HOUR_OF_DAY) * 60 * 60 + + calendar.get(Calendar.MINUTE) * 60 + + calendar.get(Calendar.SECOND) + ) + ); + } + } + } + wxModeRet.setServiceData(wxModeServiceInfoList); // 将 localTime 转为 分秒 格式 if (wxModeRet.getModeTime() != null) { - wxModeRet.setModeTimeStr(DateUtils.formatMS(wxModeRet.getModeTime().getSecond())); + wxModeRet.setModeTimeStr(DateUtils.formatMS(wxModeRet.getModeTime().getLong(ChronoField.SECOND_OF_DAY))); } wxModeRetList.add(wxModeRet); } From 6ae117688540cc9da9931b2d625fbca34ea1b7b9 Mon Sep 17 00:00:00 2001 From: "382696293@qq.com" <382696293@qq.com> Date: Mon, 26 Feb 2024 10:42:50 +0800 Subject: [PATCH 16/19] =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/flossom/common/core/utils/DateUtils.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/utils/DateUtils.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/utils/DateUtils.java index fc83c52..fd02e41 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/utils/DateUtils.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/utils/DateUtils.java @@ -186,10 +186,10 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils * @param seconds * @return */ - public static String formatHMS(int seconds) { - int hours = seconds / 3600; - int minutes = (seconds % 3600) / 60; - int remainingSeconds = seconds % 60; + public static String formatHMS(long seconds) { + long hours = seconds / 3600; + long minutes = (seconds % 3600) / 60; + long remainingSeconds = seconds % 60; return String.format("%02d:%02d:%02d", hours, minutes, remainingSeconds); } @@ -198,9 +198,9 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils * @param seconds * @return */ - public static String formatMS(int seconds) { - int minutes = seconds / 60; - int remainingSeconds = seconds % 60; + public static String formatMS(long seconds) { + long minutes = seconds / 60; + long remainingSeconds = seconds % 60; return String.format("%02d:%02d", minutes, remainingSeconds); } From c60853f82e23854241c26245d7f310612d58dc54 Mon Sep 17 00:00:00 2001 From: "382696293@qq.com" <382696293@qq.com> Date: Mon, 26 Feb 2024 10:54:21 +0800 Subject: [PATCH 17/19] =?UTF-8?q?Bug:=E3=80=90ID1000467=E3=80=91=E4=BB=AA?= =?UTF-8?q?=E5=99=A8=E7=AE=A1=E7=90=86-=E5=BA=8F=E5=88=97=E5=8F=B7?= =?UTF-8?q?=E5=88=97=E8=A1=A8=EF=BC=8C=E3=80=90=E5=88=A0=E9=99=A4=E6=89=B9?= =?UTF-8?q?=E9=87=8F=E6=95=B0=E6=8D=AE=E3=80=91/=E3=80=90=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E5=85=A8=E9=87=8F=E6=95=B0=E6=8D=AE=E3=80=91=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E5=B7=B2=E7=BB=91=E5=AE=9A=E7=8A=B6=E6=80=81=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=EF=BC=8C=E5=88=A0=E9=99=A4=E6=88=90=E5=8A=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/mapper/WxInstrumentSerialMapper.java | 3 +++ .../mapper/WxInstrumentSerialMapper.xml | 8 +++++++ .../service/impl/WxInstrumentServiceImpl.java | 4 +++- .../impl/WxInstrumentSerialServiceImpl.java | 21 +++++++++++++++++++ 4 files changed, 35 insertions(+), 1 deletion(-) diff --git a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxInstrumentSerialMapper.java b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxInstrumentSerialMapper.java index 41832a7..f714297 100644 --- a/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxInstrumentSerialMapper.java +++ b/flossom-common/flossom-common-core/src/main/java/com/flossom/common/core/mapper/WxInstrumentSerialMapper.java @@ -1,6 +1,7 @@ package com.flossom.common.core.mapper; import com.flossom.common.core.domain.entity.WxInstrumentSerial; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -20,6 +21,8 @@ public interface WxInstrumentSerialMapper */ public WxInstrumentSerial selectWxInstrumentSerialById(Long id); + public List selectWxInstrumentSerialByIdList(@Param("idList") List idList); + /** * 查询仪器序列号关联列表 * diff --git a/flossom-common/flossom-common-core/src/main/resources/mapper/WxInstrumentSerialMapper.xml b/flossom-common/flossom-common-core/src/main/resources/mapper/WxInstrumentSerialMapper.xml index 7f27e46..4b35cbe 100644 --- a/flossom-common/flossom-common-core/src/main/resources/mapper/WxInstrumentSerialMapper.xml +++ b/flossom-common/flossom-common-core/src/main/resources/mapper/WxInstrumentSerialMapper.xml @@ -60,6 +60,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} + + insert into wx_instrument_serial diff --git a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java index 59b24a7..76a09e8 100644 --- a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java +++ b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/service/impl/WxInstrumentServiceImpl.java @@ -463,10 +463,11 @@ public class WxInstrumentServiceImpl implements IWxInstrumentService { wxModeServiceInfo.setModeId(wxMode.getId()); List wxModeServiceInfoList = wxModeServiceInfoMapper.selectWxModeServiceInfoList(wxModeServiceInfo); if (wxModeServiceInfoList != null && wxModeServiceInfoList.size() > 0) { - Calendar calendar = Calendar.getInstance(); + for (WxModeServiceInfo modeServiceInfo : wxModeServiceInfoList) { if (modeServiceInfo.getServiceStartTime() != null) { Date date = wxModeServiceInfo.getServiceStartTime(); + Calendar calendar = Calendar.getInstance(); calendar.setTime(date); modeServiceInfo.setServiceStartTimeStr( DateUtils.formatMS(calendar.get(Calendar.HOUR_OF_DAY) * 60 * 60 @@ -477,6 +478,7 @@ public class WxInstrumentServiceImpl implements IWxInstrumentService { } if (modeServiceInfo.getServiceEndTime() != null) { Date date = wxModeServiceInfo.getServiceEndTime(); + Calendar calendar = Calendar.getInstance(); calendar.setTime(date); modeServiceInfo.setServiceEndTimeStr( DateUtils.formatMS(calendar.get(Calendar.HOUR_OF_DAY) * 60 * 60 diff --git a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxInstrumentSerialServiceImpl.java b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxInstrumentSerialServiceImpl.java index 0e18b6c..515b598 100644 --- a/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxInstrumentSerialServiceImpl.java +++ b/flossom-modules/flossom-system/src/main/java/com/flossom/system/service/impl/WxInstrumentSerialServiceImpl.java @@ -1,5 +1,6 @@ package com.flossom.system.service.impl; +import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; @@ -9,6 +10,7 @@ import com.flossom.common.core.domain.entity.WxInstrument; import com.flossom.common.core.domain.entity.WxInstrumentSerial; import com.flossom.common.core.domain.req.WxInstrumentSerialExportVm; import com.flossom.common.core.domain.req.WxInstrumentSerialImportVm; +import com.flossom.common.core.enums.BindingStatusEnums; import com.flossom.common.core.exception.ServiceException; import com.flossom.common.core.mapper.WxInstrumentMapper; import com.flossom.common.core.mapper.WxInstrumentSerialMapper; @@ -21,6 +23,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.flossom.system.service.IWxInstrumentSerialService; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; /** @@ -121,8 +124,17 @@ public class WxInstrumentSerialServiceImpl implements IWxInstrumentSerialService * @return 结果 */ @Override + @Transactional public int deleteWxInstrumentSerialByIds(Long[] ids) { + List wxInstrumentSerialList = wxInstrumentSerialMapper.selectWxInstrumentSerialByIdList(Arrays.asList(ids)); + if (wxInstrumentSerialList != null && wxInstrumentSerialList.size() > 0) { + for (WxInstrumentSerial wxInstrumentSerial : wxInstrumentSerialList) { + if (wxInstrumentSerial.getBindingStatus() == BindingStatusEnums.BINDED.getCode()) { + throw new ServiceException("删除失败,只能删除已解绑状态的数据,您选中的内容存在【已绑定状态】请重试"); + } + } + } return wxInstrumentSerialMapper.deleteWxInstrumentSerialByIds(ids); } @@ -139,7 +151,16 @@ public class WxInstrumentSerialServiceImpl implements IWxInstrumentSerialService } @Override + @Transactional public int deleteAll() { + List wxInstrumentSerialList = wxInstrumentSerialMapper.selectWxInstrumentSerialList(new WxInstrumentSerial()); + if (wxInstrumentSerialList != null && wxInstrumentSerialList.size() > 0) { + for (WxInstrumentSerial wxInstrumentSerial : wxInstrumentSerialList) { + if (wxInstrumentSerial.getBindingStatus() == BindingStatusEnums.BINDED.getCode()) { + throw new ServiceException("删除失败,只能删除已解绑状态的数据,您选中的内容存在【已绑定状态】请重试"); + } + } + } return wxInstrumentSerialMapper.deleteAll(); } From 8c4d1e05ea36d24457fb2e6611b4b5ff33bbab47 Mon Sep 17 00:00:00 2001 From: "382696293@qq.com" <382696293@qq.com> Date: Mon, 26 Feb 2024 11:03:30 +0800 Subject: [PATCH 18/19] =?UTF-8?q?Bug:=E3=80=90ID1000464=E3=80=91=E4=BB=AA?= =?UTF-8?q?=E5=99=A8=E7=AE=A1=E7=90=86-=E5=BA=8F=E5=88=97=E5=8F=B7?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E3=80=90=E7=BB=91=E5=AE=9A=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E3=80=91=E6=9C=AA=E9=BB=98=E8=AE=A4=E5=85=A8=E9=83=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- flossom-ui/src/views/system/instrumentSerial/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flossom-ui/src/views/system/instrumentSerial/index.vue b/flossom-ui/src/views/system/instrumentSerial/index.vue index c0f1a57..a1082cb 100644 --- a/flossom-ui/src/views/system/instrumentSerial/index.vue +++ b/flossom-ui/src/views/system/instrumentSerial/index.vue @@ -32,7 +32,7 @@ :style="{ width: '100%' }" clearable > - + From 0b3012be74ef8c996c311986083f3504e78a3ef0 Mon Sep 17 00:00:00 2001 From: "382696293@qq.com" <382696293@qq.com> Date: Mon, 26 Feb 2024 11:12:49 +0800 Subject: [PATCH 19/19] =?UTF-8?q?Bug:=E3=80=90ID1000460=E3=80=91=E6=89=93?= =?UTF-8?q?=E5=8D=A1=E7=AE=A1=E7=90=86-=E9=A2=9D=E5=A4=96=E6=89=93?= =?UTF-8?q?=E5=8D=A1=E6=97=B6=E9=97=B4=E6=AE=B5=E7=9A=84=E7=BB=93=E6=9D=9F?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=98=AF=E5=90=A6=E5=8F=AF=E4=BB=A5=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE23:59=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- flossom-ui/src/views/system/clockIntegral/index.vue | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/flossom-ui/src/views/system/clockIntegral/index.vue b/flossom-ui/src/views/system/clockIntegral/index.vue index cd0cbd7..1e82c07 100644 --- a/flossom-ui/src/views/system/clockIntegral/index.vue +++ b/flossom-ui/src/views/system/clockIntegral/index.vue @@ -1,7 +1,7 @@