diff --git a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/exportVo/DeviceLyRecordExportVo.java b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/exportVo/DeviceLyRecordExportVo.java new file mode 100644 index 0000000..5771607 --- /dev/null +++ b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/exportVo/DeviceLyRecordExportVo.java @@ -0,0 +1,49 @@ +package com.bonus.common.entity.bracelet.exportVo; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * @className:DeviceLyRecordExportVo + * @version:1.0 + * @description:设备领用记录导出-vo + */ +@Data +public class DeviceLyRecordExportVo { + + @Excel(name = "序号", width = 10.0,height = 20.0, orderNum = "0") + private String id; + + @Excel(name = "工程名称", width = 20.0,height = 15.0,orderNum = "1") + private String proName; + + @Excel(name = "项目部名称", width = 20.0,height = 15.0,orderNum = "2") + private String departName; + + @Excel(name = "领用班组", width = 20.0,height = 15.0,orderNum = "3") + private String teamName; + + @Excel(name = "领用设备类型", width = 20.0,height = 15.0,orderNum = "4") + private String deviceTypeName; + + @Excel(name = "设备名称", width = 20.0,height = 15.0,orderNum = "5") + private String devName; + + @Excel(name = "领用设备编码", width = 20.0,height = 15.0,orderNum = "6") + private String devCode; + + @Excel(name = "班组负责人", width = 20.0,height = 15.0,orderNum = "7") + private String teamLeader; + + @Excel(name = "领用时间", width = 20.0,height = 15.0,orderNum = "8") + private String lyTime; + + @Excel(name = "归还时间", width = 20.0,height = 15.0,orderNum = "9") + private String ghTime; + + @Excel(name = "备注", width = 20.0,height = 15.0,orderNum = "10") + private String remarks; + +} diff --git a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/EquipmentReqVo.java b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/EquipmentReqVo.java index a718e75..36fa299 100644 --- a/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/EquipmentReqVo.java +++ b/bonus-common/bonus-common-entity/src/main/java/com/bonus/common/entity/bracelet/vo/EquipmentReqVo.java @@ -23,6 +23,10 @@ public class EquipmentReqVo { private Long devId; /**设备类型*/ private String devType; + /** + * 项目部id + */ + private Long departId; /** * 杆塔名称 */ @@ -31,6 +35,10 @@ public class EquipmentReqVo { * 工程名称 */ private String proName; + /** + * 项目部名称 + */ + private String departName; /** * 领用班组 */ diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/DeviceLyRecordController.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/DeviceLyRecordController.java new file mode 100644 index 0000000..ddc1b8c --- /dev/null +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/DeviceLyRecordController.java @@ -0,0 +1,42 @@ +package com.bonus.bracelet.controller; + +import com.bonus.bracelet.mapper.DeviceLyRecordMapper; +import com.bonus.bracelet.service.IDeviceLyRecordService; +import com.bonus.bracelet.service.IEquipmentReqService; +import com.bonus.common.core.web.controller.BaseController; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.core.web.page.TableDataInfo; +import com.bonus.common.entity.bracelet.BraceletParamsDto; +import com.bonus.common.entity.bracelet.vo.EquipmentReqDataVo; +import com.bonus.common.entity.bracelet.vo.EquipmentReqVo; +import com.bonus.common.log.annotation.SysLog; +import com.bonus.common.log.enums.OperaType; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @className:DeviceLyRecordController + * @description:设备领用记录-web层 + */ +@RestController +@RequestMapping("/deviceLyRecord/") +@Slf4j +public class DeviceLyRecordController extends BaseController { + + @Resource(name = "IDeviceLyRecordService") + private IDeviceLyRecordService service; + +// @RequiresPermissions("basic:equipmentReq:list") + @GetMapping("list") + @SysLog(title = "综合查询", businessType = OperaType.QUERY,module = "综合查询->设备领用记录",details ="查询设备领用记录列表") + public TableDataInfo list(EquipmentReqVo dto) { + startPage(); + List list = service.getEquipmentReqLists(dto); + return getDataTable(list); + } + +} diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/ExportFileController.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/ExportFileController.java index c62c0b5..12eaacf 100644 --- a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/ExportFileController.java +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/controller/ExportFileController.java @@ -4,22 +4,14 @@ import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; import com.bonus.bracelet.mapper.BraceletMapper; +import com.bonus.bracelet.mapper.DeviceLyRecordMapper; import com.bonus.bracelet.mapper.DeviceMapper; -import com.bonus.bracelet.service.IBraceletService; -import com.bonus.bracelet.service.IDeviceService; -import com.bonus.bracelet.service.IPersonMgeService; -import com.bonus.bracelet.service.ITeamMgeService; +import com.bonus.bracelet.service.*; import com.bonus.common.core.constant.BusinessConstants; import com.bonus.common.core.utils.ExcelStyleUtil; import com.bonus.common.entity.bracelet.BraceletParamsDto; -import com.bonus.common.entity.bracelet.exportVo.DeviceExportVo; -import com.bonus.common.entity.bracelet.exportVo.PersonExportVo; -import com.bonus.common.entity.bracelet.exportVo.ShExportVo; -import com.bonus.common.entity.bracelet.exportVo.TeamExportVo; -import com.bonus.common.entity.bracelet.vo.BraceletVo; -import com.bonus.common.entity.bracelet.vo.DeviceVo; -import com.bonus.common.entity.bracelet.vo.PersonVo; -import com.bonus.common.entity.bracelet.vo.TeamVo; +import com.bonus.common.entity.bracelet.exportVo.*; +import com.bonus.common.entity.bracelet.vo.*; import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.BeanUtils; @@ -37,6 +29,8 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; +import static com.bonus.common.core.text.Convert.str; + /** * @author:cwchen @@ -62,11 +56,18 @@ public class ExportFileController { @Resource(name = "IBraceletService") private IBraceletService iBraceletService; + @Resource(name = "IDeviceLyRecordService") + private IDeviceLyRecordService iDeviceLyRecordService; + @Resource(name = "DeviceMapper") private DeviceMapper deviceMapper; @Resource(name = "BraceletMapper") private BraceletMapper braceletMapper; + + @Resource(name = "DeviceLyRecordMapper") + private DeviceLyRecordMapper deviceLyRecordMapper; + /** * 导出人员 * @@ -211,4 +212,34 @@ public class ExportFileController { log.error(e.toString(), e); } } + + @GetMapping("exportDeviceLyRecord") + public void exportDeviceLyRecord(HttpServletRequest request, HttpServletResponse response, EquipmentReqVo dto) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + try { + List deviceLyRecordExportVoList = new ArrayList<>(); + List deviceLists = iDeviceLyRecordService.getEquipmentReqLists(dto); + for (int i = 0; i < deviceLists.size(); i++) { + DeviceLyRecordExportVo exportVo = new DeviceLyRecordExportVo(); + EquipmentReqVo vo = deviceLists.get(i); + BeanUtils.copyProperties(vo, exportVo); + exportVo.setId((i + 1) + ""); + exportVo.setTeamLeader(vo.getTeamLeader()+ "\\" +vo.getLeaderPhone()); + exportVo.setLyTime(sdf.format(vo.getLyTime())); + exportVo.setGhTime(vo.getGhTime() == null ? "在用" : sdf.format(vo.getGhTime())); + deviceLyRecordExportVoList.add(exportVo); + } + ExportParams exportParams = new ExportParams("设备领用记录", "设备领用记录", ExcelType.XSSF); + exportParams.setStyle(ExcelStyleUtil.class); + Workbook workbook = ExcelExportUtil.exportExcel(exportParams, DeviceLyRecordExportVo.class, deviceLyRecordExportVoList); + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader("content-disposition", "attachment;fileName=" + URLEncoder.encode("设备领用记录" + ".xlsx", "UTF-8")); + ServletOutputStream outputStream = response.getOutputStream(); + workbook.write(outputStream); + outputStream.close(); + workbook.close(); + } catch (Exception e) { + log.error(e.toString(), e); + } + } } diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/DeviceLyRecordMapper.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/DeviceLyRecordMapper.java new file mode 100644 index 0000000..30134cb --- /dev/null +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/mapper/DeviceLyRecordMapper.java @@ -0,0 +1,30 @@ +package com.bonus.bracelet.mapper; + +import com.bonus.common.entity.bracelet.BraceletParamsDto; +import com.bonus.common.entity.bracelet.vo.EquipmentReqDataVo; +import com.bonus.common.entity.bracelet.vo.EquipmentReqVo; +import org.apache.ibatis.annotations.MapKey; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; +import java.util.Map; + +/** + * @className:DeviceLyRecordMapper + * @description:设备领用记录-mapper + */ +@Repository(value = "DeviceLyRecordMapper") +public interface DeviceLyRecordMapper { + /** + * 设备领用列表 + * + * @param dto + * @return List + * @author cwchen + * @date 2024/8/5 13:53 + */ + List getEquipmentReqLists(EquipmentReqVo dto); + + +} diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/IDeviceLyRecordService.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/IDeviceLyRecordService.java new file mode 100644 index 0000000..fcea1ce --- /dev/null +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/IDeviceLyRecordService.java @@ -0,0 +1,26 @@ +package com.bonus.bracelet.service; + +import com.bonus.bracelet.mapper.DeviceLyRecordMapper; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.entity.bracelet.BraceletParamsDto; +import com.bonus.common.entity.bracelet.vo.EquipmentReqDataVo; +import com.bonus.common.entity.bracelet.vo.EquipmentReqVo; + +import java.util.List; + +/** + * @className:IDeviceLyRecordService + * @description:设备领用记录-serivice + */ +public interface IDeviceLyRecordService { + /** + * 设备领用列表 + * + * @param dto + * @return List + * @author cwchen + * @date 2024/8/5 13:51 + */ + List getEquipmentReqLists(EquipmentReqVo dto); + +} diff --git a/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/DeviceLyRecordServiceImpl.java b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/DeviceLyRecordServiceImpl.java new file mode 100644 index 0000000..1072bfc --- /dev/null +++ b/bonus-modules/bonus-bracelet/src/main/java/com/bonus/bracelet/service/impl/DeviceLyRecordServiceImpl.java @@ -0,0 +1,47 @@ +package com.bonus.bracelet.service.impl; + +import com.bonus.bracelet.mapper.DeviceLyRecordMapper; +import com.bonus.bracelet.mapper.EquipmentReqMapper; +import com.bonus.bracelet.service.IDeviceLyRecordService; +import com.bonus.bracelet.service.IEquipmentReqService; +import com.bonus.common.core.constant.BusinessConstants; +import com.bonus.common.core.utils.encryption.Sm4Utils; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.entity.bracelet.BraceletParamsDto; +import com.bonus.common.entity.bracelet.vo.EquipmentReqDataVo; +import com.bonus.common.entity.bracelet.vo.EquipmentReqVo; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; + +import javax.annotation.Resource; +import java.util.*; + +/** + * @className:DeviceLyRecordServiceImpl + * @description:设备领用记录-serviceImpl + */ +@Slf4j +@Service(value = "IDeviceLyRecordService") +public class DeviceLyRecordServiceImpl implements IDeviceLyRecordService { + + @Resource(name = "DeviceLyRecordMapper") + private DeviceLyRecordMapper mapper; + + @Override + public List getEquipmentReqLists(EquipmentReqVo dto) { + List list = new ArrayList<>(); + try { + list = mapper.getEquipmentReqLists(dto); + for (EquipmentReqVo vo : list) { + vo.setLeaderPhone(Sm4Utils.decode(vo.getLeaderPhone())); + } + } catch (Exception e) { + log.error(e.toString(), e); + } + return list; + } +} diff --git a/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/DeviceLyRecordMapper.xml b/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/DeviceLyRecordMapper.xml new file mode 100644 index 0000000..995551b --- /dev/null +++ b/bonus-modules/bonus-bracelet/src/main/resources/mapper/bracelet/DeviceLyRecordMapper.xml @@ -0,0 +1,84 @@ + + + + + + \ No newline at end of file