|
@@ -0,0 +1,498 @@
|
|
|
+package org.jeecg.modules.viewClockIn.controller;
|
|
|
+
|
|
|
+import java.lang.reflect.Array;
|
|
|
+import java.lang.reflect.Field;
|
|
|
+import java.lang.reflect.InvocationTargetException;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.*;
|
|
|
+import java.io.IOException;
|
|
|
+import java.io.UnsupportedEncodingException;
|
|
|
+import java.net.URLDecoder;
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+
|
|
|
+import com.alibaba.excel.EasyExcel;
|
|
|
+import com.alibaba.excel.ExcelReader;
|
|
|
+import com.alibaba.excel.read.metadata.ReadSheet;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import net.sf.json.JSONObject;
|
|
|
+import org.apache.commons.beanutils.PropertyUtils;
|
|
|
+import org.apache.commons.collections.CollectionUtils;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.jeecg.common.api.vo.Result;
|
|
|
+import org.jeecg.common.system.query.QueryGenerator;
|
|
|
+import org.jeecg.common.aspect.annotation.AutoLog;
|
|
|
+import org.jeecg.common.util.DateUtils;
|
|
|
+import org.jeecg.common.util.oConvertUtils;
|
|
|
+import org.jeecg.modules.geke.salary.mapper.SalaryCardMapper;
|
|
|
+import org.jeecg.modules.system.entity.SysPermissionDataRule;
|
|
|
+import org.jeecg.modules.viewClockIn.ExcelItemListener;
|
|
|
+import org.jeecg.modules.viewClockIn.entity.BdSalaryDetails;
|
|
|
+import org.jeecg.modules.viewClockIn.service.IBdSalaryDetailsService;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.jeecg.common.system.base.controller.JeecgController;
|
|
|
+import org.jeecgframework.poi.excel.ExcelImportUtil;
|
|
|
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
|
|
+import org.jeecgframework.poi.excel.entity.ExportParams;
|
|
|
+import org.jeecgframework.poi.excel.entity.ImportParams;
|
|
|
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
|
|
+
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
+import org.springframework.web.multipart.MultipartHttpServletRequest;
|
|
|
+import org.springframework.web.servlet.ModelAndView;
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import io.swagger.annotations.Api;
|
|
|
+import io.swagger.annotations.ApiOperation;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @Description: 薪资明细
|
|
|
+ * @Author: jeecg-boot
|
|
|
+ * @Date: 2022-08-11
|
|
|
+ * @Version: V1.0
|
|
|
+ */
|
|
|
+@Slf4j
|
|
|
+@Api(tags="薪资明细")
|
|
|
+@RestController
|
|
|
+@RequestMapping("/viewClockIn/bdSalaryDetails")
|
|
|
+public class BdSalaryDetailsController extends JeecgController<BdSalaryDetails, IBdSalaryDetailsService> {
|
|
|
+ @Autowired
|
|
|
+ private IBdSalaryDetailsService bdSalaryDetailsService;
|
|
|
+ @Autowired
|
|
|
+ private SalaryCardMapper salaryCardMapper;
|
|
|
+
|
|
|
+ @GetMapping(value = "/querySalary")
|
|
|
+ public Map<String,Object>querySalary(String userId,String date){
|
|
|
+
|
|
|
+ Map<String,Object>map=new HashMap<>();
|
|
|
+ LambdaQueryWrapper<BdSalaryDetails> query = new LambdaQueryWrapper<BdSalaryDetails>();
|
|
|
+ String userNo = salaryCardMapper.getUserNo(userId);
|
|
|
+ query.eq(BdSalaryDetails::getPersonCode,userNo);
|
|
|
+ query.eq(BdSalaryDetails::getMonth,date);
|
|
|
+ List<BdSalaryDetails> list = bdSalaryDetailsService.list(query);
|
|
|
+ map.put("data",list);
|
|
|
+
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 分页列表查询
|
|
|
+ *
|
|
|
+ * @param bdSalaryDetails
|
|
|
+ * @param pageNo
|
|
|
+ * @param pageSize
|
|
|
+ * @param req
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @AutoLog(value = "薪资明细-分页列表查询")
|
|
|
+ @ApiOperation(value="薪资明细-分页列表查询", notes="薪资明细-分页列表查询")
|
|
|
+ @GetMapping(value = "/list")
|
|
|
+ public Result<?> queryPageList(BdSalaryDetails bdSalaryDetails,
|
|
|
+ @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
|
|
+ @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
|
|
+ HttpServletRequest req) {
|
|
|
+ if(bdSalaryDetails != null && StringUtils.isNotBlank(bdSalaryDetails.getHeadMonth())){
|
|
|
+ bdSalaryDetails.setMonth(bdSalaryDetails.getHeadMonth());
|
|
|
+ }else{
|
|
|
+ bdSalaryDetails.setMonth(DateUtils.getNYTime());
|
|
|
+ }
|
|
|
+ QueryWrapper<BdSalaryDetails> queryWrapper = QueryGenerator.initQueryWrapper(bdSalaryDetails, req.getParameterMap());
|
|
|
+ Page<BdSalaryDetails> page = new Page<BdSalaryDetails>(pageNo, pageSize);
|
|
|
+ IPage<BdSalaryDetails> pageList = bdSalaryDetailsService.page(page, queryWrapper);
|
|
|
+ return Result.OK(pageList);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 添加
|
|
|
+ *
|
|
|
+ * @param bdSalaryDetails
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @AutoLog(value = "薪资明细-添加")
|
|
|
+ @ApiOperation(value="薪资明细-添加", notes="薪资明细-添加")
|
|
|
+ @PostMapping(value = "/add")
|
|
|
+ public Result<?> add(@RequestBody BdSalaryDetails bdSalaryDetails) {
|
|
|
+ bdSalaryDetailsService.save(bdSalaryDetails);
|
|
|
+ return Result.OK("添加成功!");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 编辑
|
|
|
+ *
|
|
|
+ * @param bdSalaryDetails
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @AutoLog(value = "薪资明细-编辑")
|
|
|
+ @ApiOperation(value="薪资明细-编辑", notes="薪资明细-编辑")
|
|
|
+ @PutMapping(value = "/edit")
|
|
|
+ public Result<?> edit(@RequestBody BdSalaryDetails bdSalaryDetails) {
|
|
|
+ bdSalaryDetailsService.updateById(bdSalaryDetails);
|
|
|
+ return Result.OK("编辑成功!");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 通过id删除
|
|
|
+ *
|
|
|
+ * @param id
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @AutoLog(value = "薪资明细-通过id删除")
|
|
|
+ @ApiOperation(value="薪资明细-通过id删除", notes="薪资明细-通过id删除")
|
|
|
+ @DeleteMapping(value = "/delete")
|
|
|
+ public Result<?> delete(@RequestParam(name="id",required=true) String id) {
|
|
|
+ bdSalaryDetailsService.removeById(id);
|
|
|
+ return Result.OK("删除成功!");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 批量删除
|
|
|
+ *
|
|
|
+ * @param ids
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @AutoLog(value = "薪资明细-批量删除")
|
|
|
+ @ApiOperation(value="薪资明细-批量删除", notes="薪资明细-批量删除")
|
|
|
+ @DeleteMapping(value = "/deleteBatch")
|
|
|
+ public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
|
|
|
+ this.bdSalaryDetailsService.removeByIds(Arrays.asList(ids.split(",")));
|
|
|
+ return Result.OK("批量删除成功!");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 通过id查询
|
|
|
+ *
|
|
|
+ * @param id
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @AutoLog(value = "薪资明细-通过id查询")
|
|
|
+ @ApiOperation(value="薪资明细-通过id查询", notes="薪资明细-通过id查询")
|
|
|
+ @GetMapping(value = "/queryById")
|
|
|
+ public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
|
|
|
+ BdSalaryDetails bdSalaryDetails = bdSalaryDetailsService.getById(id);
|
|
|
+ return Result.OK(bdSalaryDetails);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 导出excel
|
|
|
+ *
|
|
|
+ * @param request
|
|
|
+ * @param bdSalaryDetails
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "/exportXls")
|
|
|
+ public ModelAndView exportXls(HttpServletRequest request, BdSalaryDetails bdSalaryDetails) {
|
|
|
+ return super.exportXls(request, bdSalaryDetails, BdSalaryDetails.class, "薪资明细");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 通过excel导入数据
|
|
|
+ *
|
|
|
+ * @param request
|
|
|
+ * @param response
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @AutoLog(value = "薪资管理-导入")
|
|
|
+ @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
|
|
|
+ public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
|
|
|
+
|
|
|
+ String monthDate = "";
|
|
|
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
|
|
+ Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
|
|
+ for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
|
|
|
+ MultipartFile file = entity.getValue();// 获取上传文件对象
|
|
|
+ try {
|
|
|
+ ExcelReader reader = EasyExcel.read(file.getInputStream()).build();
|
|
|
+ List<ReadSheet> sheets = reader.excelExecutor().sheetList();
|
|
|
+ List<BdSalaryDetails> list = new ArrayList<>();
|
|
|
+ for (int i = 0; i < sheets.size(); i++) {
|
|
|
+ ReadSheet readSheet = sheets.get(i);
|
|
|
+
|
|
|
+ System.out.println("表序号:" + readSheet.getSheetNo()+" ===== 表名:" + readSheet.getSheetName());
|
|
|
+
|
|
|
+ List<Object> objects = EasyExcel.read(file.getInputStream()).sheet(i).headRowNumber(0).doReadSync();
|
|
|
+// EasyExcel.read(file.getInputStream(),BdSalaryDetails.class,new ExcelItemListener()).sheet().doRead();
|
|
|
+ if(readSheet.getSheetNo() == 0){
|
|
|
+ Map<Integer,String> map1 = (Map<Integer, String>) objects.get(0);
|
|
|
+ monthDate = map1.get(0);
|
|
|
+ if(StringUtils.isBlank(monthDate)){
|
|
|
+ return Result.error("文件导入失败:请填写薪资月份!");
|
|
|
+ }else{
|
|
|
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
|
|
|
+ try {
|
|
|
+ format.setLenient(false);
|
|
|
+ format.parse(monthDate);
|
|
|
+ }catch (Exception e){
|
|
|
+ return Result.error("文件导入失败:请填写正确薪资月份!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+// System.out.println(objects);
|
|
|
+
|
|
|
+ List<BdSalaryDetails> bdSalaryDetailsList = changeInfo(objects,monthDate,readSheet.getSheetNo(),readSheet.getSheetName());
|
|
|
+
|
|
|
+ if(bdSalaryDetailsList.size() > 0){
|
|
|
+ list.addAll(bdSalaryDetailsList);
|
|
|
+ }
|
|
|
+// objects.forEach(System.out::println);
|
|
|
+ }
|
|
|
+ if(list.size() > 0){
|
|
|
+ bdSalaryDetailsService.deleteDetails(list,monthDate);
|
|
|
+ bdSalaryDetailsService.saveBatch(list);
|
|
|
+ return Result.ok("文件导入成功!数据行数:" + list.size());
|
|
|
+ }
|
|
|
+ }catch (Exception e){
|
|
|
+ System.out.println(e.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ return Result.error("文件导入失败!");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @param objects excel单sheet完整数据
|
|
|
+ * @param monthDate 薪资月份
|
|
|
+ * @param num sheet序号 0:正式工 1:天华外包 2:山人外包 3:仁联 4:安徽商曼
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<BdSalaryDetails> changeInfo(List<Object> objects,String monthDate,int num,String sheetName) {
|
|
|
+// System.out.println(monthDate);
|
|
|
+ List<BdSalaryDetails> bdSalaryDetailsList = new ArrayList<>();
|
|
|
+ int i = 0;
|
|
|
+ for(Object o:objects){
|
|
|
+ i++;
|
|
|
+ if((num == 0 && i <= 3) || (num > 0 && i <= 1)){ // 过滤掉正式工的前三行,其他sheet第一行
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+// System.out.println("第"+num+"个sheet;第"+i+"行数据:");
|
|
|
+// System.out.println(o);
|
|
|
+ Map<Integer,String> map1 = (Map<Integer, String>) o;
|
|
|
+ BdSalaryDetails bdSalaryDetails = new BdSalaryDetails();
|
|
|
+
|
|
|
+ if(map1 == null || StringUtils.isBlank(map1.get(0))){ //空行或者合计行过滤掉
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(num == 0){ //正式工
|
|
|
+ bdSalaryDetails = changeEntityZero(map1);
|
|
|
+ }else if(num == 1){//天华外包
|
|
|
+ bdSalaryDetails = changeEntityOne(map1);
|
|
|
+ }else if(num == 2){//山人外包
|
|
|
+ bdSalaryDetails = changeEntityTwo(map1);
|
|
|
+ }else if(num == 3){//仁联
|
|
|
+ bdSalaryDetails = changeEntityThree(map1);
|
|
|
+ }else if(num == 4){//安徽商曼
|
|
|
+ bdSalaryDetails = changeEntityFore(map1);
|
|
|
+ }else {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if(StringUtils.isBlank(map1.get(2))){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ bdSalaryDetails.setMonth(monthDate);//月份
|
|
|
+ bdSalaryDetails.setType(sheetName);//类别
|
|
|
+ bdSalaryDetails.setPersonCode(map1.get(0));//工号
|
|
|
+ bdSalaryDetails.setPersonName(map1.get(1));//姓名
|
|
|
+ bdSalaryDetails.setWageBase(map1.get(2));//工资基数
|
|
|
+
|
|
|
+ bdSalaryDetailsList.add(bdSalaryDetails);
|
|
|
+ }
|
|
|
+
|
|
|
+ return bdSalaryDetailsList;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 正式工转换
|
|
|
+ * @param map1
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public BdSalaryDetails changeEntityZero(Map<Integer,String> map1){
|
|
|
+
|
|
|
+ BdSalaryDetails bdSalaryDetails = new BdSalaryDetails();
|
|
|
+
|
|
|
+ bdSalaryDetails.setSocialBase(map1.get(3));//社保基数
|
|
|
+ bdSalaryDetails.setPensionGr(map1.get(4));//养老-个人
|
|
|
+ bdSalaryDetails.setMedicalGr(map1.get(5));//医疗-个人
|
|
|
+ bdSalaryDetails.setUnemploymentGr(map1.get(6));//失业-个人
|
|
|
+ bdSalaryDetails.setHousingGr(map1.get(7));//住房公积金-个人
|
|
|
+ bdSalaryDetails.setPensionGs(map1.get(8));//养老-公司
|
|
|
+ bdSalaryDetails.setMedicalGs(map1.get(9));//医疗-公司
|
|
|
+ bdSalaryDetails.setUnemploymentGs(map1.get(10));//失业-公司
|
|
|
+ bdSalaryDetails.setBirthGs(map1.get(11));//生育-公司
|
|
|
+ bdSalaryDetails.setInjuryGs(map1.get(12));//工伤-公司
|
|
|
+ bdSalaryDetails.setTotalGs(map1.get(13));//社保公司小计
|
|
|
+ bdSalaryDetails.setUnemployment(map1.get(14));//住房公积金
|
|
|
+ bdSalaryDetails.setWorkDay(map1.get(15));//本月考勤天数
|
|
|
+ bdSalaryDetails.setTemperature(map1.get(16));//高温费
|
|
|
+ bdSalaryDetails.setDuration(map1.get(17));//加班天数
|
|
|
+ bdSalaryDetails.setOvertimePay(map1.get(18));//加班费
|
|
|
+ bdSalaryDetails.setVacationThing(map1.get(19));//事假天数/旷工天数
|
|
|
+ bdSalaryDetails.setVacationThingPay(map1.get(20));//事假扣款/旷工扣款
|
|
|
+// bdSalaryDetails.setVacationAway(map1.get(21));//旷工天数
|
|
|
+// bdSalaryDetails.setVacationAwayPay(map1.get(22));//旷工扣款
|
|
|
+ bdSalaryDetails.setVacationSick(map1.get(21));//病假天数
|
|
|
+ bdSalaryDetails.setVacationSickPay(map1.get(22));//病假扣款
|
|
|
+ bdSalaryDetails.setMeritPay(map1.get(23));//绩效工资
|
|
|
+ bdSalaryDetails.setIncreaseBeforeTax(map1.get(24));//税前增项
|
|
|
+ bdSalaryDetails.setDeductionBeforeTax(map1.get(25));//税前减项
|
|
|
+ bdSalaryDetails.setRealWage(map1.get(26));//本月实际考勤工资
|
|
|
+ bdSalaryDetails.setPayableBeforeTax(map1.get(27));//税前应发
|
|
|
+ bdSalaryDetails.setIncomeTax(map1.get(28));//个税(起征点5K)
|
|
|
+ bdSalaryDetails.setPayableAfterTax(map1.get(29));//税后应发
|
|
|
+ bdSalaryDetails.setEnergySubsidy(map1.get(30));//税后补贴1(能源)
|
|
|
+ bdSalaryDetails.setRestaurantSubsidy(map1.get(31));//税后补贴2(餐饮)
|
|
|
+ bdSalaryDetails.setChildAllowance(map1.get(32));//独生子女津贴
|
|
|
+ bdSalaryDetails.setAfterTaxDeduction(map1.get(33));//税后扣款
|
|
|
+ bdSalaryDetails.setAfterTaxAdditions(map1.get(34));//税后增项
|
|
|
+ bdSalaryDetails.setAfterTaxReduce(map1.get(35));//税后减项
|
|
|
+ bdSalaryDetails.setActualOccurrence(map1.get(36));//实发
|
|
|
+ bdSalaryDetails.setIdentification(map1.get(37));//身份证
|
|
|
+ bdSalaryDetails.setCardNumber(map1.get(38));//身份证
|
|
|
+ bdSalaryDetails.setBank(map1.get(39));//开户行
|
|
|
+ bdSalaryDetails.setCellPhone(map1.get(40));//手机号
|
|
|
+ bdSalaryDetails.setSyFund(map1.get(41));//公积金账号
|
|
|
+ bdSalaryDetails.setEntryDate(map1.get(42));//入职日期
|
|
|
+
|
|
|
+ return bdSalaryDetails;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 天华外包转换
|
|
|
+ * @param map1
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public BdSalaryDetails changeEntityOne(Map<Integer,String> map1) {
|
|
|
+
|
|
|
+ BdSalaryDetails bdSalaryDetails = new BdSalaryDetails();
|
|
|
+
|
|
|
+ bdSalaryDetails.setWorkDay(map1.get(3));//本月考勤天数
|
|
|
+ bdSalaryDetails.setDuration(map1.get(4));//加班天数
|
|
|
+ bdSalaryDetails.setOvertimePay(map1.get(5));//加班费
|
|
|
+ bdSalaryDetails.setVacationSick(map1.get(6));//病假天数、事假天数、旷工天数
|
|
|
+ bdSalaryDetails.setVacationSickPay(map1.get(7));//病假、事假、旷工扣款
|
|
|
+ bdSalaryDetails.setIncreaseBeforeTax(map1.get(8));//税前增项
|
|
|
+ bdSalaryDetails.setDeductionBeforeTax(map1.get(9));//税前减项
|
|
|
+ bdSalaryDetails.setMeritPay(map1.get(10));//绩效工资
|
|
|
+ bdSalaryDetails.setRealWage(map1.get(11));//本月实际考勤工资
|
|
|
+ bdSalaryDetails.setSocialSecurity(map1.get(12));//社保、残保、商保-外包
|
|
|
+ bdSalaryDetails.setServiceCharge(map1.get(13));//服务费14%-外包
|
|
|
+ bdSalaryDetails.setDormitoryExpenses(map1.get(14));//住宿费-外包
|
|
|
+ bdSalaryDetails.setActualOccurrence(map1.get(15));//实发
|
|
|
+ bdSalaryDetails.setTotalWb(map1.get(16));//合计-外包
|
|
|
+ bdSalaryDetails.setInvoiceTaxPoint(map1.get(17));//发票税点-外包
|
|
|
+ bdSalaryDetails.setTotalAll(map1.get(18));//总计-外包
|
|
|
+
|
|
|
+ return bdSalaryDetails;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 山人外包转换
|
|
|
+ * @param map1
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public BdSalaryDetails changeEntityTwo(Map<Integer,String> map1) {
|
|
|
+
|
|
|
+ BdSalaryDetails bdSalaryDetails = new BdSalaryDetails();
|
|
|
+
|
|
|
+ bdSalaryDetails.setWorkDay(map1.get(3));//本月考勤天数
|
|
|
+ bdSalaryDetails.setDuration(map1.get(4));//加班天数
|
|
|
+ bdSalaryDetails.setOvertimePay(map1.get(5));//加班费
|
|
|
+ bdSalaryDetails.setVacationSick(map1.get(6));//病假天数、事假天数、旷工天数
|
|
|
+ bdSalaryDetails.setVacationSickPay(map1.get(7));//病假、事假、旷工扣款
|
|
|
+ bdSalaryDetails.setIncreaseBeforeTax(map1.get(8));//税前增项
|
|
|
+ bdSalaryDetails.setDeductionBeforeTax(map1.get(9));//税前减项
|
|
|
+ bdSalaryDetails.setMeritPay(map1.get(10));//绩效工资
|
|
|
+ bdSalaryDetails.setRealWage(map1.get(11));//本月实际考勤工资
|
|
|
+ bdSalaryDetails.setSocialSecurity(map1.get(12));//社保、残保、商保-外包
|
|
|
+ bdSalaryDetails.setServiceCharge(map1.get(13));//服务费14%-外包
|
|
|
+ bdSalaryDetails.setDormitoryExpenses(map1.get(14));//住宿费-外包
|
|
|
+ bdSalaryDetails.setActualOccurrence(map1.get(15));//实发
|
|
|
+ bdSalaryDetails.setTotalWb(map1.get(16));//合计-外包
|
|
|
+ bdSalaryDetails.setInvoiceTaxPoint(map1.get(17));//发票税点-外包
|
|
|
+ bdSalaryDetails.setTotalAll(map1.get(18));//总计-外包
|
|
|
+
|
|
|
+ return bdSalaryDetails;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 仁联外包转换
|
|
|
+ * @param map1
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public BdSalaryDetails changeEntityThree(Map<Integer,String> map1) {
|
|
|
+
|
|
|
+ BdSalaryDetails bdSalaryDetails = new BdSalaryDetails();
|
|
|
+
|
|
|
+ bdSalaryDetails.setWorkDay(map1.get(3));//本月考勤天数
|
|
|
+ bdSalaryDetails.setDuration(map1.get(4));//加班天数
|
|
|
+ bdSalaryDetails.setOvertimePay(map1.get(5));//加班费
|
|
|
+ bdSalaryDetails.setVacationSick(map1.get(6));//病假天数、事假天数、旷工天数
|
|
|
+ bdSalaryDetails.setVacationSickPay(map1.get(7));//病假、事假、旷工扣款
|
|
|
+ bdSalaryDetails.setIncreaseBeforeTax(map1.get(8));//税前增项
|
|
|
+ bdSalaryDetails.setDeductionBeforeTax(map1.get(9));//税前减项
|
|
|
+ bdSalaryDetails.setMeritPay(map1.get(10));//绩效工资
|
|
|
+ bdSalaryDetails.setRealWage(map1.get(11));//本月实际考勤工资
|
|
|
+ bdSalaryDetails.setServiceCharge(map1.get(12));//服务费(包含所有保险费用)
|
|
|
+ bdSalaryDetails.setDormitoryExpenses(map1.get(13));//住宿费-外包
|
|
|
+ bdSalaryDetails.setActualOccurrence(map1.get(14));//实发
|
|
|
+ bdSalaryDetails.setTotalWb(map1.get(15));//合计-外包
|
|
|
+ bdSalaryDetails.setInvoiceTaxPoint(map1.get(16));//发票税点-外包
|
|
|
+ bdSalaryDetails.setTotalAll(map1.get(17));//总计-外包
|
|
|
+
|
|
|
+ return bdSalaryDetails;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 安徽商曼转换
|
|
|
+ * @param map1
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public BdSalaryDetails changeEntityFore(Map<Integer,String> map1) {
|
|
|
+
|
|
|
+ BdSalaryDetails bdSalaryDetails = new BdSalaryDetails();
|
|
|
+
|
|
|
+ bdSalaryDetails.setWorkDay(map1.get(3));//本月考勤天数
|
|
|
+ bdSalaryDetails.setDuration(map1.get(4));//加班天数
|
|
|
+ bdSalaryDetails.setOvertimePay(map1.get(5));//加班费
|
|
|
+ bdSalaryDetails.setVacationThing(map1.get(6));//事假天数、旷工天数
|
|
|
+ bdSalaryDetails.setTemperature(map1.get(7));//高温费
|
|
|
+ bdSalaryDetails.setVacationThingPay(map1.get(8));//事假、旷工扣款
|
|
|
+ bdSalaryDetails.setVacationSick(map1.get(9));//病假天数
|
|
|
+ bdSalaryDetails.setVacationSickPay(map1.get(10));//病假扣款
|
|
|
+ bdSalaryDetails.setIncreaseBeforeTax(map1.get(11));//税前增项
|
|
|
+ bdSalaryDetails.setDeductionBeforeTax(map1.get(12));//税前减项
|
|
|
+ bdSalaryDetails.setDormitoryExpenses(map1.get(13));//住宿费-外包
|
|
|
+ bdSalaryDetails.setActualOccurrence(map1.get(14));//实发
|
|
|
+ bdSalaryDetails.setTaxation(map1.get(15));//税费-外包
|
|
|
+ bdSalaryDetails.setSingleInjury(map1.get(16));//单工伤-外包
|
|
|
+ bdSalaryDetails.setCommercialInsurance(map1.get(17));//商保-外包
|
|
|
+ bdSalaryDetails.setServiceCharge(map1.get(18));//服务费
|
|
|
+ bdSalaryDetails.setTotalWb(map1.get(19));//合计-外包
|
|
|
+
|
|
|
+ return bdSalaryDetails;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void main(String[] args) {
|
|
|
+ try {
|
|
|
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
|
|
|
+ format.setLenient(false);
|
|
|
+ Date aa = format.parse("2022-16");
|
|
|
+ System.out.println(aa);
|
|
|
+ }catch (Exception e){
|
|
|
+ System.out.println("3242343");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+}
|