| src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/device/execl/DeviceLedgerExeclDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/project/system/mapper/SysRoleMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/staff/dto/StaffOnJobExcelDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/system/SysRoleMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java
@@ -3,7 +3,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.device.dto.DeviceLedgerDto; import com.ruoyi.device.execl.DeviceLedgerExeclDto; import com.ruoyi.device.mapper.DeviceLedgerMapper; import com.ruoyi.device.mapper.DeviceMaintenanceMapper; import com.ruoyi.device.pojo.DeviceLedger; @@ -11,6 +13,7 @@ import com.ruoyi.device.service.IDeviceLedgerService; import com.ruoyi.framework.aspectj.lang.annotation.Anonymous; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.staff.dto.StaffOnJobExcelDto; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -79,7 +82,14 @@ deviceLedgerService.export(response, ids); } @PostMapping("import") @ApiOperation("ä¸è½½æ¨¡æ¿") @PostMapping("/downloadTemplate") public void downloadTemplate(HttpServletResponse response) { ExcelUtil<DeviceLedgerExeclDto> util = new ExcelUtil<>(DeviceLedgerExeclDto.class); util.importTemplateExcel(response, "设å¤å¯¼å ¥æ¨¡æ¿"); } @PostMapping("/import") @ApiOperation("å¯¼å ¥è®¾å¤å°è´¦") public AjaxResult importData(MultipartFile file) throws IOException { Boolean b = deviceLedgerService.importData(file); src/main/java/com/ruoyi/device/execl/DeviceLedgerExeclDto.java
@@ -1,9 +1,14 @@ package com.ruoyi.device.execl; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.framework.aspectj.lang.annotation.Excel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.time.LocalDate; import java.util.Date; @Data public class DeviceLedgerExeclDto { @@ -14,6 +19,18 @@ */ @Excel(name = "设å¤åç§°" ,sort = 1) private String deviceName; /** * 设å¤ç±»å */ @Excel(name = "设å¤ç±»å",sort = 0,combo = {"ç产设å¤","åå ¬è®¾å¤","æ£æ¥è®¾å¤","è¿è¾è®¾å¤","å ¶ä»è®¾å¤"}) private String type; @ApiModelProperty("计åè¿è¡æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") @Excel(name = "计åè¿è¡æ¶é´",sort = 10,dateFormat = "yyyy-MM-dd") private Date planRuntimeTime; /** * è§æ ¼åå· @@ -36,8 +53,8 @@ /** * æ°é */ @Excel(name = "æ°é",sort = 5) private BigDecimal number; @Excel(name = "æ°é",sort = 5, type = Excel.Type.EXPORT) private BigDecimal number = BigDecimal.ONE; /** * å«ç¨åä»· @@ -48,7 +65,7 @@ /** * å«ç¨æ»ä»· */ @Excel(name = "å«ç¨æ»ä»·",sort = 7) @Excel(name = "å«ç¨æ»ä»·",sort = 7, type = Excel.Type.EXPORT) private BigDecimal taxIncludingPriceTotal; /** @@ -60,17 +77,8 @@ /** * ä¸å«ç¨æ»ä»· */ @Excel(name = "ä¸å«ç¨æ»ä»·",sort = 9) @Excel(name = "ä¸å«ç¨æ»ä»·",sort = 9, type = Excel.Type.EXPORT) private BigDecimal unTaxIncludingPriceTotal; // // /** // * å½å ¥æ¶é´ // * // */ // @Excel(name = "å½å ¥æ¶é´",sort = 10) // @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") // private LocalDateTime createTime; /** src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.OrderUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.bean.BeanUtils; import com.ruoyi.common.utils.poi.ExcelUtil; @@ -23,6 +25,8 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -112,6 +116,11 @@ deviceLedger.setCreateUser(SecurityUtils.getUserId().intValue()); } BeanUtils.copyProperties(c,deviceLedger); // éè¿å«ç¨åä»·ãæ°éãç¨ç计ç®å«ç¨æ»ä»·ï¼ä¸å«ç¨æ»ä»· deviceLedger.setTaxIncludingPriceTotal(c.getTaxIncludingPriceUnit()); deviceLedger.setNumber(BigDecimal.ONE); deviceLedger.setPlanRuntimeTime(DateUtils.toLocalDate(c.getPlanRuntimeTime())); deviceLedger.setUnTaxIncludingPriceTotal(deviceLedger.getTaxIncludingPriceTotal().divide(BigDecimal.ONE.add(c.getTaxRate()),2, RoundingMode.HALF_UP)); deviceLedgerMapper.insert(deviceLedger); }); src/main/java/com/ruoyi/project/system/mapper/SysRoleMapper.java
@@ -1,6 +1,8 @@ package com.ruoyi.project.system.mapper; import java.util.List; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.project.system.domain.SysRole; /** src/main/java/com/ruoyi/staff/controller/StaffOnJobController.java
@@ -1,6 +1,7 @@ package com.ruoyi.staff.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.framework.aspectj.lang.annotation.Log; import com.ruoyi.framework.aspectj.lang.enums.BusinessType; import com.ruoyi.framework.web.domain.AjaxResult; @@ -13,6 +14,7 @@ import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import com.ruoyi.staff.dto.StaffOnJobExcelDto; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; @@ -105,6 +107,13 @@ return AjaxResult.success(staffOnJobService.renewContract(id, staffContract)); } @ApiOperation("ä¸è½½æ¨¡æ¿") @PostMapping("/downloadTemplate") public void downloadTemplate(HttpServletResponse response) { ExcelUtil<StaffOnJobExcelDto> util = new ExcelUtil<>(StaffOnJobExcelDto.class); util.importTemplateExcel(response, "å¨èå工模æ¿"); } /** * å¨èåå·¥å¯¼å ¥ */ src/main/java/com/ruoyi/staff/dto/StaffOnJobExcelDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,87 @@ package com.ruoyi.staff.dto; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.framework.aspectj.lang.annotation.Excel; import com.ruoyi.staff.pojo.StaffEducation; import com.ruoyi.staff.pojo.StaffEmergencyContact; import com.ruoyi.staff.pojo.StaffWorkExperience; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Date; import java.util.List; @Data public class StaffOnJobExcelDto { /** * ç¶æ(0:离è;1:å¨è) */ private Integer staffState = 1; /** * åå·¥ç¼å· */ @Excel(name = "åå·¥ç¼å·", cellType = Excel.ColumnType.STRING, sort = 2,prompt = "ç¨æ·ç»å½å") private String staffNo; /** * åå·¥å§å */ @Excel(name = "åå·¥å§å", sort = 3,prompt = "ç¨æ·æµç§°") private String staffName; /** * æ§å« */ @Excel(name = "æ§å«", sort = 4) private String sex; /** * é¨é¨åç§° */ @Excel(name = "é¨é¨åç§°", sort = 5,prompt = "请åå¾ç³»ç»æ¥çæåªäºé¨é¨å¯ä»¥ç»å®ï¼ä¸¥æ ¼æç §é¨é¨åç§°ç»å®") private String sysDeptName; /** * è§è² */ @Excel(name = "è§è²", sort = 6,prompt = "请åå¾ç³»ç»æ¥çæåªäºè§è²å¯ä»¥ç»å®ï¼ä¸¥æ ¼æç §è§è²åç§°ç»å®") private String roleName; /** * ææº */ @Excel(name = "ææº", sort = 13) private String phone; @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "ååå¼å§æ¶é´") @Excel(name = "ååå¼å§æ¥æ", width = 30, dateFormat = "yyyy-MM-dd", sort = 15) private Date contractStartTime; @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "ååç»ææ¶é´") @Excel(name = "ååç»ææ¥æ", width = 30, dateFormat = "yyyy-MM-dd", sort = 16) private Date contractEndTime; @ApiModelProperty(value = "ååæé") @Excel(name = "ååæé", sort = 17) private String contractTerm; @ApiModelProperty(value = "åºçæ¥æ") @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") @Excel(name = "åºçæ¥æ", width = 30, dateFormat = "yyyy-MM-dd", sort = 18) private Date birthDate; } src/main/java/com/ruoyi/staff/service/impl/StaffOnJobServiceImpl.java
@@ -10,12 +10,17 @@ import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.dto.WordDateDto; import com.ruoyi.project.system.domain.SysDept; import com.ruoyi.project.system.domain.SysPost; import com.ruoyi.project.system.domain.SysRole; import com.ruoyi.project.system.domain.SysUser; import com.ruoyi.project.system.mapper.SysDeptMapper; import com.ruoyi.project.system.mapper.SysPostMapper; import com.ruoyi.project.system.mapper.SysRoleMapper; import com.ruoyi.project.system.mapper.SysUserMapper; import com.ruoyi.project.system.service.impl.SysUserServiceImpl; import com.ruoyi.staff.dto.StaffOnJobDto; import com.ruoyi.staff.dto.StaffOnJobExcelDto; import com.ruoyi.staff.mapper.*; import com.ruoyi.staff.pojo.*; import com.ruoyi.staff.service.IStaffOnJobService; @@ -46,6 +51,13 @@ @Autowired private StaffOnJobMapper staffOnJobMapper; @Autowired private SysDeptMapper sysDeptMapper; @Autowired private SysRoleMapper sysRoleMapper; @Autowired private SysPostMapper sysPostMapper; @@ -310,11 +322,38 @@ } @Override @Transactional(rollbackFor = Exception.class) public Boolean importData(MultipartFile file) { try { ExcelUtil<StaffOnJob> util = new ExcelUtil<>(StaffOnJob.class); List<StaffOnJob> staffOnJobs = util.importExcel(file.getInputStream()); return saveOrUpdateBatch(staffOnJobs); ExcelUtil<StaffOnJobExcelDto> util = new ExcelUtil<>(StaffOnJobExcelDto.class); List<StaffOnJobExcelDto> staffOnJobs = util.importExcel(file.getInputStream()); if (CollectionUtils.isEmpty(staffOnJobs)){ return false; } // è·åææé¨é¨æ°æ® List<SysDept> sysDepts = sysDeptMapper.selectList(Wrappers.<SysDept>lambdaQuery().eq(SysDept::getDelFlag, 0)); // è·åææè§è²æ°æ® List<SysRole> sysRoles = sysRoleMapper.selectRoleAll(); staffOnJobs.forEach(staffOnJob -> { StaffOnJobDto staffOnJobDto = new StaffOnJobDto(); BeanUtils.copyProperties(staffOnJob, staffOnJobDto); // éè¿åç§°è·åé¨é¨id staffOnJobDto.setSysDeptId(// ... existing code ... sysDepts.stream() .filter(dept -> dept.getDeptName() != null && dept.getDeptName().equals(staffOnJob.getSysDeptName())) .findFirst() .map(SysDept::getDeptId) .orElse(null) ); // éè¿åç§°è·åè§è²id staffOnJobDto.setRoleId(sysRoles.stream() .filter(role -> role.getRoleName() != null && role.getRoleName().equals(staffOnJob.getRoleName())) .findFirst() .map(SysRole::getRoleId) .orElse( null)); add(staffOnJobDto); }); return true; } catch (Exception e) { e.printStackTrace(); return false; src/main/resources/mapper/system/SysRoleMapper.xml
@@ -62,6 +62,7 @@ <select id="selectRoleAll" resultMap="SysRoleResult"> <include refid="selectRoleVo"/> WHERE r.del_flag = '0' </select> <select id="selectRoleListByUserId" parameterType="Long" resultType="Long">