Ver código fonte

补充员工离职变动participation

zhouyy 5 meses atrás
pai
commit
d10828559b

+ 36 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ContractBonusDetailController.java

@@ -0,0 +1,36 @@
+package com.management.platform.controller;
+
+import com.management.platform.service.ContractBonusDetailService;
+import com.management.platform.util.HttpRespMsg;
+import com.management.platform.util.MessageUtils;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import java.io.IOException;
+
+@RestController
+@RequestMapping("/contractBonusDetail")
+public class ContractBonusDetailController {
+    @Resource
+    private ContractBonusDetailService contractBonusDetailService;
+
+    @PostMapping("/transTemplateData")
+    public HttpRespMsg transTemplateData(Integer startDate, Integer endDate,
+           String bonusType, @RequestParam(value = "file") MultipartFile file) {
+        HttpRespMsg httpRespMsg = new HttpRespMsg();
+        try {
+            contractBonusDetailService.transTemplateData(startDate,endDate,bonusType,file);
+        } catch (Exception e) {
+            e.printStackTrace();
+            httpRespMsg.setError(MessageUtils.message("other.error"));
+        }
+        return httpRespMsg;
+    }
+
+
+
+}

+ 96 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ContractBonusDetail.java

@@ -0,0 +1,96 @@
+package com.management.platform.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class ContractBonusDetail extends Model<ContractBonusDetail> {
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 主键id
+     */
+    @TableId("id")
+    private Long id;
+
+    /**
+     * 公司表外键
+     */
+    @TableField("company_id")
+    private String company_id;
+
+    /**
+     * 员工id
+     */
+    @TableField("user_id")
+    private String userId;
+
+    /**
+     * 所属合同主体[user表plate1]
+     */
+    @TableField("contract")
+    private String contract;
+
+    /**
+     * 项目id
+     */
+    @TableField("project_id")
+    private int projectId;
+
+    /**
+     * 奖金类型[中文]
+     */
+    @TableField("bonus_type")
+    private String bonusType;
+
+    /**
+     * 奖金金额
+     */
+    @TableField("bonus_value")
+    private BigDecimal bonusValue;
+
+    /**
+     * 总奖金金额
+     */
+    @TableField("total_bonus_value")
+    private BigDecimal totalBonusValue;
+
+    /**
+     * 年月 20240111
+     */
+    @TableField("ym")
+    private int ym;
+
+    /**
+     * 年 2024
+     */
+    @TableField("year")
+    private int year;
+
+    /**
+     * 月 08
+     */
+    @TableField("month")
+    private int month;
+
+    /**
+     * 创建人id
+     */
+    @TableField("create_by")
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private Date createTime;
+}

+ 10 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/bo/TransBonusData.java

@@ -0,0 +1,10 @@
+package com.management.platform.entity.bo;
+
+import lombok.Data;
+
+@Data
+public class TransBonusData {
+    private int startDate;
+    private int endDate;
+    private String bonusType;
+}

+ 19 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/vo/ImportBonusTemplateVO.java

@@ -0,0 +1,19 @@
+package com.management.platform.entity.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class ImportBonusTemplateVO {
+    /**员工工号*/
+    @ExcelProperty(value = "员工工号")
+    private String jobNumber;
+    /**员工姓名*/
+    @ExcelProperty(value = "员工姓名")
+    private String userName;
+    /**奖金金额*/
+    @ExcelProperty(value = "奖金金额")
+    private BigDecimal bonusValue;
+}

+ 7 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ContractBonusDetailMapper.java

@@ -0,0 +1,7 @@
+package com.management.platform.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.management.platform.entity.ContractBonusDetail;
+
+public interface ContractBonusDetailMapper extends BaseMapper<ContractBonusDetail> {
+}

+ 10 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ContractBonusDetailService.java

@@ -0,0 +1,10 @@
+package com.management.platform.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.management.platform.entity.ContractBonusDetail;
+import com.management.platform.util.HttpRespMsg;
+import org.springframework.web.multipart.MultipartFile;
+
+public interface ContractBonusDetailService extends IService<ContractBonusDetail> {
+    HttpRespMsg transTemplateData(Integer startDate, Integer endDate, String bonusType, MultipartFile file);
+}

+ 57 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ContractBonusDetailServiceImpl.java

@@ -0,0 +1,57 @@
+package com.management.platform.service.impl;
+
+import com.alibaba.excel.support.ExcelTypeEnum;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.management.platform.entity.ContractBonusDetail;
+import com.management.platform.entity.vo.ImportBonusTemplateVO;
+import com.management.platform.mapper.ContractBonusDetailMapper;
+import com.management.platform.mapper.ReportMapper;
+import com.management.platform.service.ContractBonusDetailService;
+import com.management.platform.util.HttpRespMsg;
+import com.management.platform.util.MessageUtils;
+import com.management.platform.util.converter.ExcelTemplateTransUtil;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.List;
+
+@Service
+public class ContractBonusDetailServiceImpl extends ServiceImpl<ContractBonusDetailMapper, ContractBonusDetail> implements ContractBonusDetailService {
+
+    @Resource
+    private ContractBonusDetailMapper contractBonusDetailMapper;
+
+    @Resource
+    private ReportMapper reportMapper;
+
+    @Override
+    public HttpRespMsg transTemplateData(Integer startDate, Integer endDate, String bonusType, MultipartFile file) {
+        HttpRespMsg httpRespMsg = new HttpRespMsg();
+        //解析文件
+        InputStream inputStream = null;
+        try {
+            inputStream = file.getInputStream();
+            List<ImportBonusTemplateVO> importDataList = ExcelTemplateTransUtil
+                    .readExcelConverterObjectList(inputStream, ExcelTypeEnum.XLSX, ImportBonusTemplateVO.class);
+//        System.out.println("=========in==========");
+//        importDataList.forEach(System.out::println);
+
+            inputStream.close();
+        } catch (IOException e) {
+            e.printStackTrace();
+            httpRespMsg.setError(MessageUtils.message(""));
+        }finally {
+            if(null != inputStream){
+                try {
+                    inputStream.close();
+                } catch (IOException ex) {
+                    ex.printStackTrace();
+                }
+            }
+        }
+        return httpRespMsg;
+    }
+}

+ 37 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/util/converter/ExcelTemplateTransUtil.java

@@ -0,0 +1,37 @@
+package com.management.platform.util.converter;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.support.ExcelTypeEnum;
+import org.springframework.lang.Nullable;
+
+import java.io.InputStream;
+import java.util.List;
+
+public class ExcelTemplateTransUtil {
+    public static <T> List<T> readExcelConverterObjectList(InputStream inputStream, ExcelTypeEnum excelTypeEnum, Class<T> classT){
+        return readExcelWithClassList(inputStream, excelTypeEnum, 1, classT);
+    }
+
+    /**
+     * 读取excel数据到数据对象
+     *
+     * @param inputStream 文件流
+     * @param excelTypeEnum 文件类型Excel的格式(XLS或XLSX)
+     * @param headLineNum 开始读取数据的行
+     * @param classT 转为对象的CLASS
+     * @param <T>
+     * @return
+     */
+    public static <T> List<T> readExcelWithClassList(InputStream inputStream, ExcelTypeEnum excelTypeEnum,
+                                                         @Nullable Integer headLineNum, Class<T> classT) {
+        if (headLineNum == null) {
+            headLineNum = 1;
+        }
+        return EasyExcel.read(inputStream).excelType(excelTypeEnum)
+                .registerConverter(new StringExcelConverter())
+                .head(classT)
+                .sheet()
+                .headRowNumber(headLineNum)
+                .doReadSync();
+    }
+}

+ 29 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/util/converter/StringExcelConverter.java

@@ -0,0 +1,29 @@
+package com.management.platform.util.converter;
+
+import com.alibaba.excel.converters.Converter;
+import com.alibaba.excel.enums.CellDataTypeEnum;
+import com.alibaba.excel.metadata.CellData;
+import com.alibaba.excel.metadata.GlobalConfiguration;
+import com.alibaba.excel.metadata.property.ExcelContentProperty;
+
+public class StringExcelConverter implements Converter<String> {
+    @Override
+    public Class supportJavaTypeKey() {
+        return String.class;
+    }
+
+    @Override
+    public CellDataTypeEnum supportExcelTypeKey() {
+        return CellDataTypeEnum.STRING;
+    }
+
+    @Override
+    public String convertToJavaData(CellData cellData, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
+        return cellData.getStringValue();
+    }
+
+    @Override
+    public CellData convertToExcelData(String value, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
+        return new CellData(value);
+    }
+}

+ 6 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ContractBonusDetailMapper.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.management.platform.mapper.ContractBonusDetailMapper">
+
+</mapper>