Commit aa9554dd by ilal Committed by chenzg

提交

parent 51136a24
package cn.timer.api.bean.xcgl;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author LAL 2020-10-09
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "xcgl_asso_bszqsz")
@ApiModel("报税周期设置")
public class XcglAssoBszqsz extends Model<XcglAssoBszqsz> {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "id id", example = "101")
private Integer id;
@ApiModelProperty(value = "报税周期(1:当月报税;2:次月报税) 报税周期(1:当月报税;2:次月报税)", example = "101")
private Integer taxReturnCycle;
@ApiModelProperty(value = "企业ID 企业ID", example = "101")
private Integer qyid;
}
\ No newline at end of file
package cn.timer.api.bean.xcgl;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author LAL 2020-10-09
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name="xcgl_asso_gsjsmx")
@ApiModel("个税计算明细")
public class XcglAssoGsjsmx extends Model<XcglAssoGsjsmx> {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
@TableId (type = IdType.AUTO)
@ApiModelProperty(value="Id Id",example="101")
private Integer id;
@ApiModelProperty(value="用户id ",example="用户id")
private String userNum;
@ApiModelProperty(value="用户姓名 ",example="用户姓名")
private String userName;
@ApiModelProperty(value="薪资月 ",example="薪资月")
private String salaryMonth;
@ApiModelProperty(value="税款所属月份 ",example="税款所属月份")
private String taxMonth;
@ApiModelProperty(value="本月个税 ",example="本月个税")
private Double thmonthPersonal;
@ApiModelProperty(value="累计子女教育 ",example="累计子女教育")
private Double cumZljy;
@ApiModelProperty(value="累计住房贷款利息 ",example="累计住房贷款利息")
private Double cumZfdklx;
@ApiModelProperty(value="累计住房租金 ",example="累计住房租金")
private Double cumZfzj;
@ApiModelProperty(value="累计赡养老人 ",example="累计赡养老人")
private Double cumSylr;
@ApiModelProperty(value="累计继续教育 ",example="累计继续教育")
private Double cumJxjy;
@ApiModelProperty(value="累计专项附加扣除 ",example="累计专项附加扣除")
private Double cumZxfjkc;
@ApiModelProperty(value="计税类型 ",example="计税类型")
private String taxType;
@ApiModelProperty(value="本期收入 ",example="本期收入")
private Double currentIncome;
@ApiModelProperty(value="本期专项扣除 ",example="本期专项扣除")
private Double currentSpecialDeduction;
@ApiModelProperty(value="累计收入额 ",example="累计收入额")
private Double cumSre;
@ApiModelProperty(value="累计减除费用 ",example="累计减除费用")
private Double cumJcfy;
@ApiModelProperty(value="累计专项扣除 ",example="累计专项扣除")
private Double cumZxkc;
@ApiModelProperty(value="累计其他扣除 ",example="累计其他扣除")
private Double cumQtkc;
@ApiModelProperty(value="累计应纳税所得额 ",example="累计应纳税所得额")
private Double cumYnssde;
@ApiModelProperty(value="税率 ",example="税率")
private Double taxRate;
@ApiModelProperty(value="速算扣除数 ",example="速算扣除数")
private Double quickCalculationDeduction;
@ApiModelProperty(value="累计应纳税额 ",example="累计应纳税额")
private Double cumYnse;
@ApiModelProperty(value="累计已预缴税额 ",example="累计已预缴税额")
private Double cumYyjse;
@ApiModelProperty(value="累计应补(退)税额 ",example="累计应补(退)税额")
private Double cumYbtse;
@ApiModelProperty(value="企业id 企业id",example="101")
private Integer qyid;
}
\ No newline at end of file
package cn.timer.api.bean.xcgl;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author LAL 2020-10-09
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name="xcgl_asso_tax_formula")
@ApiModel("个税税率表")
public class XcglAssoTaxFormula extends Model<XcglAssoTaxFormula> {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
@TableId (type = IdType.AUTO)
@ApiModelProperty(value="id id",example="101")
private Integer id;
@ApiModelProperty(value="应税起始 ",example="应税起始")
private Double taxablestart;
@ApiModelProperty(value="应税结束 ",example="应税结束")
private Double taxableend;
@ApiModelProperty(value="税率 税率",example="101")
private Integer taxrate;
@ApiModelProperty(value="速算扣除数 ",example="速算扣除数")
private Double deductions;
@ApiModelProperty(value="企业ID 企业ID",example="101")
private Integer qyid;
}
\ No newline at end of file
......@@ -29,7 +29,6 @@ import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapp
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import cn.timer.api.bean.kqgl.AttendanceGroup;
import cn.timer.api.bean.kqgl.AttendanceReport;
import cn.timer.api.bean.kqgl.AttendanceWeeklySch;
......@@ -38,6 +37,7 @@ import cn.timer.api.bean.kqgl.PunchRecord;
import cn.timer.api.bean.kqgl.Schedule;
import cn.timer.api.bean.kqgl.SpecialDate;
import cn.timer.api.bean.xcgl.XcglAdminXzz;
import cn.timer.api.bean.xcgl.XcglAssoGsjsmx;
import cn.timer.api.bean.xcgl.XcglAssoGztsz;
import cn.timer.api.bean.xcgl.XcglAssoGztzt;
import cn.timer.api.bean.xcgl.XcglAssoJsgzzx;
......@@ -54,6 +54,7 @@ import cn.timer.api.bean.yggl.YgglMainEmp;
import cn.timer.api.config.annotation.CurrentUser;
import cn.timer.api.config.annotation.UserBean;
import cn.timer.api.config.validation.ValidList;
import cn.timer.api.controller.kqgl.ClockInTool;
import cn.timer.api.dao.kqgl.AttendanceGroupMapper;
import cn.timer.api.dao.kqgl.AttendanceWeeklySchMapper;
import cn.timer.api.dao.kqgl.PunchCardDetailsMapper;
......@@ -61,6 +62,7 @@ import cn.timer.api.dao.kqgl.PunchRecordMapper;
import cn.timer.api.dao.kqgl.ScheduleMapper;
import cn.timer.api.dao.kqgl.SpecialDateMapper;
import cn.timer.api.dao.xcgl.XcglAdminXzzMapper;
import cn.timer.api.dao.xcgl.XcglAssoGsjsmxMapper;
import cn.timer.api.dao.xcgl.XcglAssoGztszMapper;
import cn.timer.api.dao.xcgl.XcglAssoGztztMapper;
import cn.timer.api.dao.xcgl.XcglAssoJsgzzxMapper;
......@@ -81,13 +83,16 @@ import cn.timer.api.dto.xcgl.CalculatedFieldDto;
import cn.timer.api.dto.xcgl.CalculationDto;
import cn.timer.api.dto.xcgl.CalculationOptionsDto;
import cn.timer.api.dto.xcgl.ChangeSalaryDto;
import cn.timer.api.dto.xcgl.CheckSalaryStaffDto;
import cn.timer.api.dto.xcgl.CjPayrollGroupDto;
import cn.timer.api.dto.xcgl.ComputeUserDto;
import cn.timer.api.dto.xcgl.CustomDto;
import cn.timer.api.dto.xcgl.FixedSalaryStaffDto;
import cn.timer.api.dto.xcgl.FixedsalaryDto;
import cn.timer.api.dto.xcgl.ImportDescriptionDto;
import cn.timer.api.dto.xcgl.ImportSalaryDto;
import cn.timer.api.dto.xcgl.ImportSalarySetDto;
import cn.timer.api.dto.xcgl.IndividualTaxDetailsDto;
import cn.timer.api.dto.xcgl.ModifyPayslipDto;
import cn.timer.api.dto.xcgl.PayCustomDto;
import cn.timer.api.dto.xcgl.PayCustomZDYDto;
......@@ -106,9 +111,9 @@ import cn.timer.api.dto.xcgl.SearchSalariedPeopleDto;
import cn.timer.api.dto.xcgl.SpecialDeductionDto;
import cn.timer.api.dto.xcgl.SwitchSalaryDateDto;
import cn.timer.api.dto.xcgl.TjSalaryItemDot;
import cn.timer.api.dto.xcgl.XcglAssoGsjsmxDto;
import cn.timer.api.dto.xcgl.XcglAssoOptionDto;
import cn.timer.api.dto.xcgl.YdMobilePacketDto;
import cn.timer.api.dto.yggl.AddygdaDto;
import cn.timer.api.utils.DateUtil;
import cn.timer.api.utils.ResponseResult;
import cn.timer.api.utils.Result;
......@@ -703,7 +708,7 @@ public class SalaryManagementController {
}
/**
* 获取自定义薪资组表头信息
* 获取自定义薪资组表头信息*******
*/
@GetMapping(value = "/paycustom")
@ApiOperation(value = "获取自定义薪资组信息", httpMethod = "GET", notes = "接口发布说明")
......@@ -713,7 +718,7 @@ public class SalaryManagementController {
}
/**
* 查询定薪人员+模糊查询
* 查询定薪人员+模糊查询*******
*/
@PostMapping(value = "/fixedstaff")
@ApiOperation(value = "查询定薪人员", httpMethod = "POST", notes = "接口发布说明")
......@@ -731,6 +736,20 @@ public class SalaryManagementController {
}
/**
* 核对算薪人员及薪资档案*******
*/
@PostMapping(value = "/check_staff_file")
@ApiOperation(value = "核对算薪人员及薪资档案", httpMethod = "POST", notes = "接口发布说明")
public ResponseResult Check_staff_file(@CurrentUser UserBean userBean,@RequestBody CheckSalaryStaffDto checksalary) {
checksalary.setOrgcode(userBean.getOrgCode());
List<FixedSalaryStaffDto> dxrylist = xcglassoxzdazdymapper.selectPaygroupStaff(checksalary);//
return new ResponseResult().success("获取核对算薪人员及薪资档案信息", dxrylist);
}
/**
* 自定义薪资表头
*/
@PostMapping(value = "/Custsave")
......@@ -2184,6 +2203,9 @@ public class SalaryManagementController {
}
//###################################################################################################################
/**
* 导入专项附加扣除
*/
......@@ -2264,8 +2286,180 @@ public class SalaryManagementController {
}
return ResultUtil.success("成功");
}
/**
* 导入个税明细
*/
@PostMapping(value = "/individual_income_tax_details")
@ApiOperation(value = "导入个税明细", httpMethod = "POST", notes = "接口发布说明")
public Result<ImportDescriptionDto> IndividualIncomeTaxDetails(@CurrentUser UserBean userBean,
@Validated @RequestBody ValidList<IndividualTaxDetailsDto> individualtaxdetailsdto) throws Exception {
Integer orgCode = userBean.getOrgCode();
int success = 0;//成功
int failure = 0;//失败
int toupdate = 0;//更新
String[] names = new String[individualtaxdetailsdto.size()];
int i = 0;
for (IndividualTaxDetailsDto indv : individualtaxdetailsdto) {
String name = indv.getUserName();
String phone = indv.getPhone();
String date = indv.getSalaryMonth();//薪资月
try {
YgglMainEmp ygl = YgglMainEmp.builder().build().selectOne(new QueryWrapper<YgglMainEmp>().lambda().eq(YgglMainEmp::getName, name)
.eq(YgglMainEmp::getPhone, phone).eq(YgglMainEmp::getOrgCode, orgCode));
if(ygl != null) {
XcglAssoGsjsmx gsjs = XcglAssoGsjsmx.builder().build().selectOne(new QueryWrapper<XcglAssoGsjsmx>().lambda().eq(XcglAssoGsjsmx::getUserNum, ygl.getEmpNum())
.eq(XcglAssoGsjsmx::getQyid, ygl.getOrgCode()).eq(XcglAssoGsjsmx::getSalaryMonth, date));
if(gsjs == null) {
XcglAssoGsjsmx gsgs = XcglAssoGsjsmx.builder().build();
gsgs.setUserNum(String.valueOf(ygl.getEmpNum()));
gsgs.setUserName(indv.getUserName());
gsgs.setSalaryMonth(indv.getSalaryMonth());
gsgs.setTaxMonth(indv.getTaxMonth());
gsgs.setThmonthPersonal(indv.getThmonthPersonal() == null ? null : Double.valueOf(indv.getThmonthPersonal()));
gsgs.setCumZljy(indv.getCumZljy() == null ? null : Double.valueOf(indv.getCumZljy()));
gsgs.setCumZfdklx(indv.getCumZfdklx() == null ? null : Double.valueOf(indv.getCumZfdklx()));
gsgs.setCumZfzj(indv.getCumZfzj() == null ? null : Double.valueOf(indv.getCumZfzj()));
gsgs.setCumSylr(indv.getCumSylr() == null ? null : Double.valueOf(indv.getCumSylr()));
gsgs.setCumJxjy(indv.getCumJxjy() == null ? null : Double.valueOf(indv.getCumJxjy()));
gsgs.setCumZxfjkc(indv.getCumZxfjkc() == null ? null : Double.valueOf(indv.getCumZxfjkc()));
gsgs.setTaxType(indv.getTaxType());
gsgs.setCurrentIncome(indv.getCurrentIncome() == null ? null : Double.valueOf(indv.getCurrentIncome()));
gsgs.setCurrentSpecialDeduction(indv.getCurrentSpecialDeduction() == null ? null : Double.valueOf(indv.getCurrentSpecialDeduction()));
gsgs.setCumSre(indv.getCumSre() == null ? null : Double.valueOf(indv.getCumSre()));
gsgs.setCumJcfy(indv.getCumJcfy() == null ? null : Double.valueOf(indv.getCumJcfy()));
gsgs.setCumZxkc(indv.getCumZxkc() == null ? null : Double.valueOf(indv.getCumZxkc()));
gsgs.setCumQtkc(indv.getCumQtkc() == null ? null : Double.valueOf(indv.getCumQtkc()));
gsgs.setCumYnssde(indv.getCumYnssde() == null ? null : Double.valueOf(indv.getCumYnssde()));
gsgs.setTaxRate(indv.getTaxRate() == null ? null : Double.valueOf(indv.getTaxRate()));
gsgs.setQuickCalculationDeduction(indv.getQuickCalculationDeduction() == null ? null : Double.valueOf(indv.getQuickCalculationDeduction()));
gsgs.setCumYnse(indv.getCumYnse() == null ? null : Double.valueOf(indv.getCumYnse()));
gsgs.setCumYyjse(indv.getCumYyjse() == null ? null : Double.valueOf(indv.getCumYyjse()));
gsgs.setCumYbtse(indv.getCumYbtse() == null ? null : Double.valueOf(indv.getCumYbtse()));
gsgs.setQyid(ygl.getOrgCode());
gsgs.insert();
success++;
}else {
XcglAssoGsjsmx gsgs = XcglAssoGsjsmx.builder().build();
gsgs.setUserNum(String.valueOf(ygl.getEmpNum()));
gsgs.setUserName(indv.getUserName());
gsgs.setSalaryMonth(indv.getSalaryMonth());
gsgs.setTaxMonth(indv.getTaxMonth());
gsgs.setThmonthPersonal(indv.getThmonthPersonal() == null ? null : Double.valueOf(indv.getThmonthPersonal()));
gsgs.setCumZljy(indv.getCumZljy() == null ? null : Double.valueOf(indv.getCumZljy()));
gsgs.setCumZfdklx(indv.getCumZfdklx() == null ? null : Double.valueOf(indv.getCumZfdklx()));
gsgs.setCumZfzj(indv.getCumZfzj() == null ? null : Double.valueOf(indv.getCumZfzj()));
gsgs.setCumSylr(indv.getCumSylr() == null ? null : Double.valueOf(indv.getCumSylr()));
gsgs.setCumJxjy(indv.getCumJxjy() == null ? null : Double.valueOf(indv.getCumJxjy()));
gsgs.setCumZxfjkc(indv.getCumZxfjkc() == null ? null : Double.valueOf(indv.getCumZxfjkc()));
gsgs.setTaxType(indv.getTaxType());
gsgs.setCurrentIncome(indv.getCurrentIncome() == null ? null : Double.valueOf(indv.getCurrentIncome()));
gsgs.setCurrentSpecialDeduction(indv.getCurrentSpecialDeduction() == null ? null : Double.valueOf(indv.getCurrentSpecialDeduction()));
gsgs.setCumSre(indv.getCumSre() == null ? null : Double.valueOf(indv.getCumSre()));
gsgs.setCumJcfy(indv.getCumJcfy() == null ? null : Double.valueOf(indv.getCumJcfy()));
gsgs.setCumZxkc(indv.getCumZxkc() == null ? null : Double.valueOf(indv.getCumZxkc()));
gsgs.setCumQtkc(indv.getCumQtkc() == null ? null : Double.valueOf(indv.getCumQtkc()));
gsgs.setCumYnssde(indv.getCumYnssde() == null ? null : Double.valueOf(indv.getCumYnssde()));
gsgs.setTaxRate(indv.getTaxRate() == null ? null : Double.valueOf(indv.getTaxRate()));
gsgs.setQuickCalculationDeduction(indv.getQuickCalculationDeduction() == null ? null : Double.valueOf(indv.getQuickCalculationDeduction()));
gsgs.setCumYnse(indv.getCumYnse() == null ? null : Double.valueOf(indv.getCumYnse()));
gsgs.setCumYyjse(indv.getCumYyjse() == null ? null : Double.valueOf(indv.getCumYyjse()));
gsgs.setCumYbtse(indv.getCumYbtse() == null ? null : Double.valueOf(indv.getCumYbtse()));
gsgs.setQyid(ygl.getOrgCode());
gsgs.setId(gsjs.getId());
gsgs.updateById();
toupdate++;
}
}else {
failure++;
int j = 5 / 0;
}
} catch (Exception e) {
// e.printStackTrace();
names[i] = indv.getUserName();
i++;
}finally {
}
}
ImportDescriptionDto imds = new ImportDescriptionDto();
imds.setSuccess(success);//成功
imds.setFailure(failure);//失败
imds.setToupdate(toupdate);//更新
imds.setNames(ClockInTool.deleteArrayNull(names));
return ResultUtil.data(imds,"编辑员工权限成功");
// return ResultUtil.success("成功");
}
@Autowired
private XcglAssoGsjsmxMapper xcglassogsjsmxmapper;
/**
* 查询列表-获取个税明细数据-分页
*/
@PostMapping(value = "/individual_income_details")
@ApiOperation(value = "获取个税明细数据-分页", httpMethod = "POST", notes = "接口发布说明")
public Result<Object> IndividualIncomeDetails(@CurrentUser UserBean userBean, @RequestBody SearchSalariedPeopleDto search) {
IPage<XcglAssoGsjsmxDto> page = new Page<XcglAssoGsjsmxDto>(
search.getCurrentPage() == null ? 1 : search.getCurrentPage(),
search.getTotalPage() == null ? 10 : search.getTotalPage());
search.setOrgcode(userBean.getOrgCode());
if(("0").equals(search.getStatus())) {//全部
search.setStatus("");
}else if(("1").equals(search.getStatus())) {//在职
search.setStatus("0");
}else {
search.setStatus("3");
}
IPage<XcglAssoGsjsmxDto> pageAs = xcglassogsjsmxmapper.SelectIndividualincomedetails(page, search);
List<XcglAssoGsjsmxDto> listAs = pageAs.getRecords();
return ResultUtil.data(pageAs, listAs, "操作成功!");
}
@GetMapping(value="/allyearround/{year}/{usernum}")
@ApiOperation(value = "获取全年信息", httpMethod = "GET", notes = "接口发布说明")
public Result<Object> AllyearroundList(@CurrentUser UserBean userBean,@PathVariable("year") String year,@PathVariable("usernum") String usernum) {
List<XcglAssoGsjsmx> allyearround = xcglassogsjsmxmapper.Allyearround(year, usernum, userBean.getOrgCode());
return ResultUtil.data(allyearround,"操作成功!");
}
@GetMapping(value="/justone/{id}")
@ApiOperation(value = "获取单个信息", httpMethod = "GET", notes = "接口发布说明")
public Result<Object> justone(@CurrentUser UserBean userBean,@PathVariable("id") Integer id) {
XcglAssoGsjsmx allyearround = XcglAssoGsjsmx.builder().id(id).build().selectById();
return ResultUtil.data(allyearround,"操作成功!");
}
@PostMapping(value = "/modifyindividualincometaxdetails")
@ApiOperation(value = "修改个税明细", httpMethod = "POST", notes = "接口发布说明")
public Result<Object> ModifyIndividualIncomeTaxDetails(@CurrentUser UserBean userBean, @RequestBody XcglAssoGsjsmx xcglassogsjsmx) {
xcglassogsjsmx.updateById();
return ResultUtil.data(xcglassogsjsmx,"操作成功!");
}
/****************************************************************************/
......
package cn.timer.api.dao.xcgl;
import org.springframework.stereotype.Repository;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.timer.api.bean.xcgl.XcglAssoBszqsz;
/**
* 报税周期设置
* @author LAL 2020-10-09
*/
@Repository
public interface XcglAssoBszqszMapper extends BaseMapper<XcglAssoBszqsz> {
}
package cn.timer.api.dao.xcgl;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import cn.timer.api.bean.xcgl.XcglAssoGsjsmx;
import cn.timer.api.dto.xcgl.SearchSalariedPeopleDto;
import cn.timer.api.dto.xcgl.XcglAssoGsjsmxDto;
/**
* 个税计算明细
* @author LAL 2020-10-09
*/
@Repository
public interface XcglAssoGsjsmxMapper extends BaseMapper<XcglAssoGsjsmx> {
IPage<XcglAssoGsjsmxDto> SelectIndividualincomedetails(IPage<XcglAssoGsjsmxDto> page,@Param("param") SearchSalariedPeopleDto searchsalariedpeopledto);
List<XcglAssoGsjsmx> Allyearround(String year,String usernum,Integer qyid);
}
package cn.timer.api.dao.xcgl;
import org.springframework.stereotype.Repository;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.timer.api.bean.xcgl.XcglAssoTaxFormula;
/**
* 个税税率表
* @author LAL 2020-10-09
*/
@Repository
public interface XcglAssoTaxFormulaMapper extends BaseMapper<XcglAssoTaxFormula> {
}
package cn.timer.api.dao.xcgl;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
import org.springframework.stereotype.Repository;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import cn.timer.api.bean.xcgl.XcglAssoXzdazdy;
import cn.timer.api.dto.xcgl.ChangeSalaryDto;
import cn.timer.api.dto.xcgl.CheckSalaryStaffDto;
import cn.timer.api.dto.xcgl.FixedSalaryStaffDto;
import cn.timer.api.dto.xcgl.SearchSalariedPeopleDto;
......@@ -33,4 +33,6 @@ public interface XcglAssoXzdazdyMapper extends BaseMapper<XcglAssoXzdazdy> {
List<FixedSalaryStaffDto> SalaryAdjustmentRecord(Integer orgcode,Integer empnum);
XcglAssoXzdazdy SalaryFixedWages(String zdmc);
List<FixedSalaryStaffDto> selectPaygroupStaff(CheckSalaryStaffDto checksearch);
}
package cn.timer.api.dto.xcgl;
import cn.timer.api.utils.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CheckSalaryStaffDto extends Page{
@ApiModelProperty(value="姓名/工号 ",example="姓名/工号")
String text;
@ApiModelProperty(value="薪资组id ",example="薪资组id")
int paygroupid;
@ApiModelProperty(value="企业编号 ",example="企业编号")
int orgcode;
}
package cn.timer.api.dto.xcgl;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ImportDescriptionDto {
int success = 0;//成功
int failure = 0;//失败
int toupdate = 0;//更新
String[] names;
}
package cn.timer.api.dto.xcgl;
import java.io.Serializable;
import cn.timer.api.dto.xcgl.SpecialDeductionDto.SpecialDeductionDtoBuilder;
import cn.timer.api.utils.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class IndividualTaxDetailsDto extends Page implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
@ApiModelProperty(value="用户手机号 ",example="用户手机号")
private String phone;
@ApiModelProperty(value="用户姓名 ",example="用户姓名")
private String userName;
@ApiModelProperty(value="薪资月 ",example="薪资月")
private String salaryMonth;
@ApiModelProperty(value="税款所属月份 ",example="税款所属月份")
private String taxMonth;
@ApiModelProperty(value="本月个税 ",example="本月个税")
private String thmonthPersonal;
@ApiModelProperty(value="累计子女教育 ",example="累计子女教育")
private String cumZljy;
@ApiModelProperty(value="累计住房贷款利息 ",example="累计住房贷款利息")
private String cumZfdklx;
@ApiModelProperty(value="累计住房租金 ",example="累计住房租金")
private String cumZfzj;
@ApiModelProperty(value="累计赡养老人 ",example="累计赡养老人")
private String cumSylr;
@ApiModelProperty(value="累计继续教育 ",example="累计继续教育")
private String cumJxjy;
@ApiModelProperty(value="累计专项附加扣除 ",example="累计专项附加扣除")
private String cumZxfjkc;
@ApiModelProperty(value="计税类型 ",example="计税类型")
private String taxType;
@ApiModelProperty(value="本期收入 ",example="本期收入")
private String currentIncome;
@ApiModelProperty(value="本期专项扣除 ",example="本期专项扣除")
private String currentSpecialDeduction;
@ApiModelProperty(value="累计收入额 ",example="累计收入额")
private String cumSre;
@ApiModelProperty(value="累计减除费用 ",example="累计减除费用")
private String cumJcfy;
@ApiModelProperty(value="累计专项扣除 ",example="累计专项扣除")
private String cumZxkc;
@ApiModelProperty(value="累计其他扣除 ",example="累计其他扣除")
private String cumQtkc;
@ApiModelProperty(value="累计应纳税所得额 ",example="累计应纳税所得额")
private String cumYnssde;
@ApiModelProperty(value="税率 ",example="税率")
private String taxRate;
@ApiModelProperty(value="速算扣除数 ",example="速算扣除数")
private String quickCalculationDeduction;
@ApiModelProperty(value="累计应纳税额 ",example="累计应纳税额")
private String cumYnse;
@ApiModelProperty(value="累计已预缴税额 ",example="累计已预缴税额")
private String cumYyjse;
@ApiModelProperty(value="累计应补(退)税额 ",example="累计应补(退)税额")
private String cumYbtse;
}
package cn.timer.api.dto.xcgl;
import java.io.Serializable;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class XcglAssoGsjsmxDto implements Serializable{
/**
*
*/
private static final long serialVersionUID = 7019484399933503292L;
@ApiModelProperty(value = "员工手机号", example = "员工手机号")
private String phone;
@ApiModelProperty(value = "用户id ", example = "用户id")
private String userNum;
@ApiModelProperty(value = "用户姓名 ", example = "用户姓名")
private String userName;
@ApiModelProperty(value = "薪资月 ", example = "薪资月")
private String salaryMonth;
@ApiModelProperty(value = "税款所属月份 ", example = "税款所属月份")
private String taxMonth;
@ApiModelProperty(value = "本月个税 ", example = "本月个税")
private Double thmonthPersonal;
@ApiModelProperty(value = "累计子女教育 ", example = "累计子女教育")
private Double cumZljy;
@ApiModelProperty(value = "累计住房贷款利息 ", example = "累计住房贷款利息")
private Double cumZfdklx;
@ApiModelProperty(value = "累计住房租金 ", example = "累计住房租金")
private Double cumZfzj;
@ApiModelProperty(value = "累计赡养老人 ", example = "累计赡养老人")
private Double cumSylr;
@ApiModelProperty(value = "累计继续教育 ", example = "累计继续教育")
private Double cumJxjy;
@ApiModelProperty(value = "累计专项附加扣除 ", example = "累计专项附加扣除")
private Double cumZxfjkc;
@ApiModelProperty(value = "计税类型 ", example = "计税类型")
private String taxType;
@ApiModelProperty(value = "本期收入 ", example = "本期收入")
private Double currentIncome;
@ApiModelProperty(value = "本期专项扣除 ", example = "本期专项扣除")
private Double currentSpecialDeduction;
@ApiModelProperty(value = "累计收入额 ", example = "累计收入额")
private Double cumSre;
@ApiModelProperty(value = "累计减除费用 ", example = "累计减除费用")
private Double cumJcfy;
@ApiModelProperty(value = "累计专项扣除 ", example = "累计专项扣除")
private Double cumZxkc;
@ApiModelProperty(value = "累计其他扣除 ", example = "累计其他扣除")
private Double cumQtkc;
@ApiModelProperty(value = "累计应纳税所得额 ", example = "累计应纳税所得额")
private Double cumYnssde;
@ApiModelProperty(value = "税率 ", example = "税率")
private Double taxRate;
@ApiModelProperty(value = "速算扣除数 ", example = "速算扣除数")
private Double quickCalculationDeduction;
@ApiModelProperty(value = "累计应纳税额 ", example = "累计应纳税额")
private Double cumYnse;
@ApiModelProperty(value = "累计已预缴税额 ", example = "累计已预缴税额")
private Double cumYyjse;
@ApiModelProperty(value = "累计应补(退)税额 ", example = "累计应补(退)税额")
private Double cumYbtse;
@ApiModelProperty(value = "企业id 企业id", example = "101")
private Integer qyid;
}
<?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="cn.timer.api.dao.xcgl.XcglAssoBszqszMapper">
<resultMap id="BaseResultMap" type="cn.timer.api.bean.xcgl.XcglAssoBszqsz" >
<id column="id" property="id" />
<result column="tax_return_cycle" property="taxReturnCycle" />
<result column="qyid" property="qyid" />
</resultMap>
<sql id="Base_Column_List">
id,
tax_return_cycle,
qyid
</sql>
<sql id="Base_Column_List_Alias">
id XcglAssoBszqsz_id,
tax_return_cycle XcglAssoBszqsz_tax_return_cycle,
qyid XcglAssoBszqsz_qyid
</sql>
<!--
<insert id="insert" useGeneratedKeys="true" keyColumn="id" parameterType="cn.timer.api.bean.xcgl.XcglAssoBszqsz">
INSERT INTO xcgl_asso_bszqsz
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test ='null != taxReturnCycle'>
tax_return_cycle,
</if>
<if test ='null != qyid'>
qyid
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test ='null != taxReturnCycle'>
#{taxReturnCycle},
</if>
<if test ='null != qyid'>
#{qyid}
</if>
</trim>
</insert>
<delete id="delete" >
DELETE FROM xcgl_asso_bszqsz
WHERE id = #{id}
</delete>
<update id="update" parameterType="cn.timer.api.bean.xcgl.XcglAssoBszqsz">
UPDATE xcgl_asso_bszqsz
<set>
<if test ='null != taxReturnCycle'>tax_return_cycle = #{taxReturnCycle},</if>
<if test ='null != qyid'>qyid = #{qyid}</if>
</set>
WHERE id = #{id}
</update>
<select id="load" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List" />
FROM xcgl_asso_bszqsz
WHERE id = #{id}
</select>
<select id="pageList" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List" />
FROM xcgl_asso_bszqsz
LIMIT #{offset}, #{pageSize}
</select>
<select id="pageListCount" resultType="java.lang.Integer">
SELECT count(1)
FROM xcgl_asso_bszqsz
</select>
-->
</mapper>
\ No newline at end of file
<?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="cn.timer.api.dao.xcgl.XcglAssoGsjsmxMapper">
<resultMap id="BaseResultMap" type="cn.timer.api.bean.xcgl.XcglAssoGsjsmx" >
<result column="Id" property="id" />
<result column="user_num" property="userNum" />
<result column="user_name" property="userName" />
<result column="salary_month" property="salaryMonth" />
<result column="tax_month" property="taxMonth" />
<result column="thmonth_personal" property="thmonthPersonal" />
<result column="cum_zljy" property="cumZljy" />
<result column="cum_zfdklx" property="cumZfdklx" />
<result column="cum_zfzj" property="cumZfzj" />
<result column="cum_sylr" property="cumSylr" />
<result column="cum_jxjy" property="cumJxjy" />
<result column="cum_zxfjkc" property="cumZxfjkc" />
<result column="tax_type" property="taxType" />
<result column="current_income" property="currentIncome" />
<result column="current_special_deduction" property="currentSpecialDeduction" />
<result column="cum_sre" property="cumSre" />
<result column="cum_jcfy" property="cumJcfy" />
<result column="cum_zxkc" property="cumZxkc" />
<result column="cum_qtkc" property="cumQtkc" />
<result column="cum_ynssde" property="cumYnssde" />
<result column="tax_rate" property="taxRate" />
<result column="quick_calculation_deduction" property="quickCalculationDeduction" />
<result column="cum_ynse" property="cumYnse" />
<result column="cum_yyjse" property="cumYyjse" />
<result column="cum_ybtse" property="cumYbtse" />
<result column="qyid" property="qyid" />
</resultMap>
<resultMap id="BaseXcglAssoGsjsmxDto" type="cn.timer.api.dto.xcgl.XcglAssoGsjsmxDto" >
<result column="phone" property="phone" />
<result column="user_num" property="userNum" />
<result column="user_name" property="userName" />
<result column="salary_month" property="salaryMonth" />
<result column="tax_month" property="taxMonth" />
<result column="thmonth_personal" property="thmonthPersonal" />
<result column="cum_zljy" property="cumZljy" />
<result column="cum_zfdklx" property="cumZfdklx" />
<result column="cum_zfzj" property="cumZfzj" />
<result column="cum_sylr" property="cumSylr" />
<result column="cum_jxjy" property="cumJxjy" />
<result column="cum_zxfjkc" property="cumZxfjkc" />
<result column="tax_type" property="taxType" />
<result column="current_income" property="currentIncome" />
<result column="current_special_deduction" property="currentSpecialDeduction" />
<result column="cum_sre" property="cumSre" />
<result column="cum_jcfy" property="cumJcfy" />
<result column="cum_zxkc" property="cumZxkc" />
<result column="cum_qtkc" property="cumQtkc" />
<result column="cum_ynssde" property="cumYnssde" />
<result column="tax_rate" property="taxRate" />
<result column="quick_calculation_deduction" property="quickCalculationDeduction" />
<result column="cum_ynse" property="cumYnse" />
<result column="cum_yyjse" property="cumYyjse" />
<result column="cum_ybtse" property="cumYbtse" />
<result column="qyid" property="qyid" />
</resultMap>
<select id="SelectIndividualincomedetails" resultMap="BaseXcglAssoGsjsmxDto">
select em.phone,
gs.*
from xcgl_asso_gsjsmx gs
LEFT JOIN yggl_main_emp as em on em.emp_num = gs.user_num and em.org_code = #{param.orgcode}
where gs.qyid = #{param.orgcode}
<if test="param.datetime != ''" >
and gs.salary_month = #{param.datetime}
</if>
<if test="param.status != ''" >
and em.job_status = #{param.status}
</if>
<if test="param.text != ''" >
and (em.`name` like CONCAT('%',#{param.text},'%') or em.emp_num = #{param.text})
</if>
</select>
<select id="Allyearround" resultMap="BaseResultMap">
select * from xcgl_asso_gsjsmx gs
where 1=1
and SUBSTR(gs.salary_month,1,4) = #{year}
and gs.user_num = #{usernum}
and gs.qyid = #{qyid}
</select>
</mapper>
\ No newline at end of file
<?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="cn.timer.api.dao.xcgl.XcglAssoTaxFormulaMapper">
<resultMap id="BaseResultMap" type="cn.timer.api.bean.xcgl.XcglAssoTaxFormula" >
<id column="id" property="id" />
<result column="taxablestart" property="taxablestart" />
<result column="taxableend" property="taxableend" />
<result column="taxrate" property="taxrate" />
<result column="deductions" property="deductions" />
<result column="qyid" property="qyid" />
</resultMap>
<sql id="Base_Column_List">
id,
taxablestart,
taxableend,
taxrate,
deductions,
qyid
</sql>
<sql id="Base_Column_List_Alias">
id XcglAssoTaxFormula_id,
taxablestart XcglAssoTaxFormula_taxablestart,
taxableend XcglAssoTaxFormula_taxableend,
taxrate XcglAssoTaxFormula_taxrate,
deductions XcglAssoTaxFormula_deductions,
qyid XcglAssoTaxFormula_qyid
</sql>
<!--
<insert id="insert" useGeneratedKeys="true" keyColumn="id" parameterType="cn.timer.api.bean.xcgl.XcglAssoTaxFormula">
INSERT INTO xcgl_asso_tax_formula
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test ='null != taxablestart'>
taxablestart,
</if>
<if test ='null != taxableend'>
taxableend,
</if>
<if test ='null != taxrate'>
taxrate,
</if>
<if test ='null != deductions'>
deductions,
</if>
<if test ='null != qyid'>
qyid
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test ='null != taxablestart'>
#{taxablestart},
</if>
<if test ='null != taxableend'>
#{taxableend},
</if>
<if test ='null != taxrate'>
#{taxrate},
</if>
<if test ='null != deductions'>
#{deductions},
</if>
<if test ='null != qyid'>
#{qyid}
</if>
</trim>
</insert>
<delete id="delete" >
DELETE FROM xcgl_asso_tax_formula
WHERE id = #{id}
</delete>
<update id="update" parameterType="cn.timer.api.bean.xcgl.XcglAssoTaxFormula">
UPDATE xcgl_asso_tax_formula
<set>
<if test ='null != taxablestart'>taxablestart = #{taxablestart},</if>
<if test ='null != taxableend'>taxableend = #{taxableend},</if>
<if test ='null != taxrate'>taxrate = #{taxrate},</if>
<if test ='null != deductions'>deductions = #{deductions},</if>
<if test ='null != qyid'>qyid = #{qyid}</if>
</set>
WHERE id = #{id}
</update>
<select id="load" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List" />
FROM xcgl_asso_tax_formula
WHERE id = #{id}
</select>
<select id="pageList" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List" />
FROM xcgl_asso_tax_formula
LIMIT #{offset}, #{pageSize}
</select>
<select id="pageListCount" resultType="java.lang.Integer">
SELECT count(1)
FROM xcgl_asso_tax_formula
</select>
-->
</mapper>
\ No newline at end of file
......@@ -210,6 +210,43 @@
</select>
<select id="selectPaygroupStaff" resultMap="FixedSalaryStaffMap">
select emp.emp_num empnum,
emp.`name` empname,
case emp.job_type
when 0 then '全职'
when 1 then '实习生'
when 2 then '兼职'
when 3 then '劳务派遣'
when 4 then '劳务'
when 5 then '派遣'
when 6 then '外包'
else '退休返聘' end as empjobtype,
case emp.job_status
when 0 then '试用'
when 1 then '正式'
when 2 then '离职中'
else '已离职' end as empjobstatus,
SUBSTR(emp.rz_time,1,10) emprztime ,
SUBSTR(emp.zz_time,1,10) empzztime,
IF(dadx.userid IS NOT NULL,1,0) as sfdx,
dadx.sxrq as tratime,
xzdaz.id as dazid,
xzdaz.xzdazdyid as xzdazdyid,
xzdaz.rsz as dazrsz,
xzdaz.xzdadxid as xzdadxid
from yggl_main_emp emp
LEFT JOIN xcgl_asso_xzdadx as dadx on dadx.userid = emp.emp_num and dadx.txzt = 0
LEFT JOIN xcgl_asso_xzdaz as xzdaz on xzdaz.xzdadxid = dadx.id
LEFT JOIN xcgl_asso_xzury as xz on xz.userid = emp.emp_num and xz.qyid = emp.org_code
where emp.org_code = #{orgcode}
and xz.xzzid = #{paygroupid}
<if test="text != ''" >
and (emp.`name` like CONCAT('%',#{text},'%') or emp.emp_num = #{text})
</if>
</select>
<select id="AchieveSalaryAdjustment" resultMap="ChangeSalaryDtoMap">
select emp.emp_num empnum,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment