Commit 815aa215 by ilal Committed by chenzg

提交

parent 2cd47022
......@@ -75,7 +75,7 @@ public class XcglAdminXzz extends Model<XcglAdminXzz> {
private String monthtime;
@ApiModelProperty(value="算薪月份",example="2019-12")
private String salarymonth;
private String xzyf;
}
\ No newline at end of file
......@@ -78,4 +78,7 @@ public class XcglAssoJsgzzx extends Model<XcglAssoJsgzzx> {
@ApiModelProperty(value="薪资选项id",example="薪资选项id")
private Integer optionid;
@ApiModelProperty(value="是否自定义项(0:否;1:是)",example="0")
private Integer isCustom;
}
\ No newline at end of file
......@@ -53,5 +53,8 @@ public class XcglAssoXcjsgz extends Model<XcglAssoXcjsgz> {
@ApiModelProperty(value = "类型(1:迟到早退扣款;2:事假扣款;3:病假扣款;4:入离职缺勤扣款;5:司龄;6:旷工扣款;7:加班费;8:司龄工资;9:应出勤天数;10:入离职缺勤天数;11:应发工资;12:个税;13:实发工资)")
private Integer type;
@ApiModelProperty(value = "", example = "")
private Integer optionid;
}
\ No newline at end of file
......@@ -92,7 +92,6 @@ 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;
......@@ -101,6 +100,7 @@ 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.ModifysalaryruleDto;
import cn.timer.api.dto.xcgl.PayCustomDto;
import cn.timer.api.dto.xcgl.PayCustomZDYDto;
import cn.timer.api.dto.xcgl.PayGroupedDataDto;
......@@ -113,7 +113,6 @@ import cn.timer.api.dto.xcgl.SalaryCustomizationDto;
import cn.timer.api.dto.xcgl.SalaryFieldDto;
import cn.timer.api.dto.xcgl.SalaryGroupGroupingDto;
import cn.timer.api.dto.xcgl.SalaryItemRulesDto;
import cn.timer.api.dto.xcgl.SalaryPersonFieldDto;
import cn.timer.api.dto.xcgl.SearchSalariedPeopleDto;
import cn.timer.api.dto.xcgl.SpecialDeductionDto;
import cn.timer.api.dto.xcgl.TjSalaryItemDot;
......@@ -308,7 +307,7 @@ public class SalaryManagementController {
xcglxzz.setQyid(orgCode);// 企业编码
xcglxzz.setAddtime(new Date().getTime());// 添加时间
xcglxzz.setMonthtime(paygro.getXzyf());//薪资月份
xcglxzz.setSalarymonth(payrollcycle.substring(0, 7));//开始);//算薪月份
xcglxzz.setXzyf(payrollcycle.substring(0, 7));//开始);//算薪月份
xcgladminxzzmapper.insert(xcglxzz);
int payid = xcglxzz.getId();
......@@ -650,6 +649,34 @@ public class SalaryManagementController {
}
/**
* @param userBean
* @param modifysalaryruledto
* @return
*/
@PostMapping(value = "/modifysalaryrule")
@ApiOperation(value = "修改薪资规则", httpMethod = "POST", notes = "接口发布说明")
public Result<Object> Modifysalaryrule(@CurrentUser UserBean userBean,@RequestBody ModifysalaryruleDto modifysalaryruledto) {
return XcglAssoJsgzzx.builder().gsid(modifysalaryruledto.getXcjsgzid()).gsgs(modifysalaryruledto.getFormula()).id(modifysalaryruledto.getJsgzzxid()).build().updateById() ? ResultUtil.success("操作成功!") : ResultUtil.error("操作失败!");
}
/**
* @param userBean
* @param id 薪资选项id
* @return
*/
@GetMapping(value="/popupsalaryrule/{id}")
@ApiOperation(value = "弹出薪资规则", httpMethod = "GET", notes = "接口发布说明")
public Result<Object> Popupsalaryrule(@CurrentUser UserBean userBean,@PathVariable("id") Integer id) {
List<XcglAssoXcjsgz> gzgs = XcglAssoXcjsgz.builder().build().selectList(new QueryWrapper<XcglAssoXcjsgz>().lambda().eq(XcglAssoXcjsgz::getOptionid, id));
return ResultUtil.data(gzgs,"操作成功!");
}
/**
* 删除薪资组 ***********
*/
@DeleteMapping(value = "/paydelete/{id}")
......@@ -725,7 +752,7 @@ public class SalaryManagementController {
xcglxzz.setPxfs(paygro.getPxfs());// 选择配薪方式(0:空白模板;df:默认)
xcglxzz.setQyid(orgCode);// 企业编码
xcglxzz.setId(paygro.getId());
xcglxzz.setSalarymonth(payrollcycle.substring(0, 7));//算薪月份
xcglxzz.setXzyf(payrollcycle.substring(0, 7));//算薪月份
xcglxzz.updateById();
int payid = paygro.getId();
xcglassoxzurymapper.xzurydelete(payid);
......@@ -1190,6 +1217,7 @@ public class SalaryManagementController {
zzx.setRemarks(payc.getRemarks());//备注
zzx.setXzzid(payc.getGid());//
zzx.setOptionid(0);
zzx.setIsCustom(1);//是否自定义项(0:否;1:是)
xcglassojsgzzxmapper.jsgzzxinsert(zzx);
return new ResponseResult().success("创建薪资组成功", zzx);
}
......@@ -1227,21 +1255,87 @@ public class SalaryManagementController {
/*******计算薪资*********/
/**
* 每月手动导入所需导出的表头数据
*/
@GetMapping(value = "/monthly_manual_import/{id}")
@ApiOperation(value = "每月手动导入所需导出的表头数据", httpMethod = "GET", notes = "接口发布说明")
public Result<Object> MonthlyManualImport(@CurrentUser UserBean userBean,@PathVariable Integer id) {
//rulestate:规则状态[0:系统自动提取;1:系统固定值;2:固定公式计算;3:自定义公式计算;4:每月自动导入]
List<XcglAssoJsgzzx> jsgzzx = XcglAssoJsgzzx.builder().build().selectList(new QueryWrapper<XcglAssoJsgzzx>().lambda().eq(XcglAssoJsgzzx::getXzzid, id)
.eq(XcglAssoJsgzzx::getRulestate, 4));
return ResultUtil.data(jsgzzx);
}
/**
* 导入浮动数据薪资
*/
@PostMapping(value = "/payimport")
@ApiOperation(value = "导入薪资", httpMethod = "POST", notes = "接口发布说明")
public ResponseResult ImportSalaryData(@CurrentUser UserBean userBean,@RequestBody ImportSalarySetDto impor) {
// XcglAdminXzz xzz = new LambdaQueryChainWrapper<XcglAdminXzz>(xcgladminxzzmapper).eq(XcglAdminXzz::getId, impor.getGid()).one();
//用户工号来匹配入库
//XcglAssoXzury xzuryone = new LambdaQueryChainWrapper<XcglAssoXzury>(xcglassoxzurymapper).eq(XcglAssoXzury::getQyid, orgCode).eq(XcglAssoXzury::getXzzid, impor.getGid()).eq(XcglAssoXzury::getUserid, impor.getUsernum()).one();
//用户名称来匹配入库
//XcglAssoXzury yhmpp = xcglassoxzurymapper.selectImportedSalary(impor.getGid(),impor.getUsername(),String.valueOf(orgCode));
ImportSalaryDto[] ims = impor.getImsalary();//
if(ims.length>0){
for(int p=0;p<ims.length;p++){
//用户工号来匹配入库
XcglAssoXzury xzuryone = new LambdaQueryChainWrapper<XcglAssoXzury>(xcglassoxzurymapper).eq(XcglAssoXzury::getQyid, userBean.getOrgCode()).eq(XcglAssoXzury::getXzzid, impor.getGid()).eq(XcglAssoXzury::getUserid, ims[p].getUsernum()).one();
//用户名称来匹配入库
XcglAssoXzury yhmpp = xcglassoxzurymapper.selectImportedSalary(impor.getGid(),ims[p].getUsername(),String.valueOf(userBean.getOrgCode()));
int k = 0;
if(xzuryone != null) {
XcglAssoXzb xzb = XcglAssoXzb.builder().build();
xzb.setUserid(xzuryone.getUserid());//
xzb.setXzyf(impor.getSxrq());//
xzb.setXzxid(ims[p].getJsgzzx());//
xzb.setXzxjg(String.valueOf(ims[p].getSrz()));//
xzb.setQyid(userBean.getOrgCode());
xcglassoxzbmapper.ModifyImportedSalary(xzb);
k++;
}
if(yhmpp != null && k == 0) {
XcglAssoXzb xzb = XcglAssoXzb.builder().build();
xzb.setUserid(yhmpp.getUserid());//
xzb.setXzyf(impor.getSxrq());//
xzb.setXzxid(ims[p].getJsgzzx());//
xzb.setXzxjg(String.valueOf(ims[p].getSrz()));//
xzb.setQyid(userBean.getOrgCode());
xcglassoxzbmapper.ModifyImportedSalary(xzb);
}
}
}
return new ResponseResult().success("考勤数据同步成功");
}
/**
* 查看薪资
*/
@GetMapping(value = "/checksalary/{id}/{sxrq}")
@GetMapping(value = "/checksalary/{id}")
@ApiOperation(value = "查看薪资", httpMethod = "GET", notes = "接口发布说明")
public ResponseResult CheckSalary(@CurrentUser UserBean userBean,@PathVariable Integer id,@PathVariable String sxrq) {
//计算完成 返回数据
List<CalculationDto> jswsj = xcglassoxzbmapper.CalculationResults(id,sxrq,userBean.getOrgCode());
List<CalculationDto> jswsj = xcglassoxzbmapper.CalculationResults(id,userBean.getOrgCode());
return new ResponseResult().success("查看薪资成功", jswsj);
}
/**
* 获取计薪规则组项
*/
@GetMapping(value = "/payrulegroupitem/{id}/{sxrq}")
@GetMapping(value = "/payrulegroupitem/{id}")
@ApiOperation(value = "获取计薪规则组项", httpMethod = "GET", notes = "接口发布说明")
public ResponseResult Payrulegroupitem(@CurrentUser UserBean userBean,@PathVariable Integer id,@PathVariable String sxrq) {
SalaryFieldDto salfie = new SalaryFieldDto();
......@@ -1275,7 +1369,7 @@ public class SalaryManagementController {
// salfie.setComuser(usfil);
// }
List<CalculationDto> jswsj = xcglassoxzbmapper.CalculationResults(id,sxrq,userBean.getOrgCode());
List<CalculationDto> jswsj = xcglassoxzbmapper.CalculationResults(id,userBean.getOrgCode());
salfie.setComuser(jswsj);
return new ResponseResult().success("获取计薪规则组项成功", salfie);
......@@ -1307,7 +1401,7 @@ public class SalaryManagementController {
//薪资组信息
@SuppressWarnings("unused")
XcglAdminXzz xzz = new LambdaQueryChainWrapper<XcglAdminXzz>(xcgladminxzzmapper).eq(XcglAdminXzz::getId, id).one();
sxrq = xzz.getSalarymonth();
sxrq = xzz.getXzyf();
//当前薪资组内人员
List<XcglAssoXzury> znrys = new LambdaQueryChainWrapper<XcglAssoXzury>(xcglassoxzurymapper).eq(XcglAssoXzury::getXzzid, id).eq(XcglAssoXzury::getQyid,userBean.getOrgCode()).list();
List<CalculationDto> jswsj = null;
......@@ -1472,7 +1566,7 @@ public class SalaryManagementController {
}
//计算完成 返回数据
jswsj = xcglassoxzbmapper.CalculationResults(id,sxrq,userBean.getOrgCode());
jswsj = xcglassoxzbmapper.CalculationResults(id,userBean.getOrgCode());
return new ResponseResult().success("计算完成", jswsj);
}else {//该组无人
......@@ -1517,12 +1611,15 @@ public class SalaryManagementController {
//#2、考勤数据
//#3、套公式算结果
//#4、数据写入薪资表
return ResultUtil.data(null, "计算完成");
}
/**
* 新增/修改--报税周期信息
......@@ -1595,7 +1692,7 @@ public class SalaryManagementController {
xcglxzz.setQyid(orgCode);// 企业编码
xcglxzz.setAddtime(new Date().getTime());// 添加时间
xcglxzz.setMonthtime(budpaygr.getXzyf());//薪资月份
xcglxzz.setSalarymonth(payrollcycle.substring(0, 7));//算薪月份
xcglxzz.setXzyf(payrollcycle.substring(0, 7));//算薪月份
xcgladminxzzmapper.insert(xcglxzz);
int payid = xcglxzz.getId();
......@@ -1779,7 +1876,7 @@ public class SalaryManagementController {
}
//计算完成 返回数据
List<CalculationDto> jswsj = xcglassoxzbmapper.CalculationResults(id,sxrq,userBean.getOrgCode());
List<CalculationDto> jswsj = xcglassoxzbmapper.CalculationResults(id,userBean.getOrgCode());
return new ResponseResult().success("考勤数据同步成功", jswsj);
......@@ -2019,56 +2116,6 @@ public class SalaryManagementController {
}
/**
* 导入薪资
*/
@PostMapping(value = "/payimport")
@ApiOperation(value = "导入薪资", httpMethod = "POST", notes = "接口发布说明")
public ResponseResult ImportSalaryData(@CurrentUser UserBean userBean,@RequestBody ImportSalarySetDto impor) {
// XcglAdminXzz xzz = new LambdaQueryChainWrapper<XcglAdminXzz>(xcgladminxzzmapper).eq(XcglAdminXzz::getId, impor.getGid()).one();
//用户工号来匹配入库
//XcglAssoXzury xzuryone = new LambdaQueryChainWrapper<XcglAssoXzury>(xcglassoxzurymapper).eq(XcglAssoXzury::getQyid, orgCode).eq(XcglAssoXzury::getXzzid, impor.getGid()).eq(XcglAssoXzury::getUserid, impor.getUsernum()).one();
//用户名称来匹配入库
//XcglAssoXzury yhmpp = xcglassoxzurymapper.selectImportedSalary(impor.getGid(),impor.getUsername(),String.valueOf(orgCode));
ImportSalaryDto[] ims = impor.getImsalary();//
if(ims.length>0){
for(int p=0;p<ims.length;p++){
//用户工号来匹配入库
XcglAssoXzury xzuryone = new LambdaQueryChainWrapper<XcglAssoXzury>(xcglassoxzurymapper).eq(XcglAssoXzury::getQyid, userBean.getOrgCode()).eq(XcglAssoXzury::getXzzid, impor.getGid()).eq(XcglAssoXzury::getUserid, ims[p].getUsernum()).one();
//用户名称来匹配入库
XcglAssoXzury yhmpp = xcglassoxzurymapper.selectImportedSalary(impor.getGid(),ims[p].getUsername(),String.valueOf(userBean.getOrgCode()));
int k = 0;
if(xzuryone != null) {
XcglAssoXzb xzb = XcglAssoXzb.builder().build();
xzb.setUserid(xzuryone.getUserid());//
xzb.setXzyf(impor.getSxrq());//
xzb.setXzxid(ims[p].getJsgzzx());//
xzb.setXzxjg(String.valueOf(ims[p].getSrz()));//
xzb.setQyid(userBean.getOrgCode());
xcglassoxzbmapper.ModifyImportedSalary(xzb);
k++;
}
if(yhmpp != null && k == 0) {
XcglAssoXzb xzb = XcglAssoXzb.builder().build();
xzb.setUserid(yhmpp.getUserid());//
xzb.setXzyf(impor.getSxrq());//
xzb.setXzxid(ims[p].getJsgzzx());//
xzb.setXzxjg(String.valueOf(ims[p].getSrz()));//
xzb.setQyid(userBean.getOrgCode());
xcglassoxzbmapper.ModifyImportedSalary(xzb);
}
}
}
return new ResponseResult().success("考勤数据同步成功");
}
/**
* 切换薪资日期
*/
......
......@@ -20,7 +20,7 @@ public interface XcglAssoXzbMapper extends BaseMapper<XcglAssoXzb> {
int deleteByuserid(int userid,int xzzid,String xzyf);
List<CalculationDto> CalculationResults(int xzzid,String xzyf,int orgcode);
List<CalculationDto> CalculationResults(int xzzid,int orgcode);
int deleteByAttendance(int userid,int xzzid,String xzyf);
......
package cn.timer.api.dto.xcgl;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ModifysalaryruleDto {
private Integer jsgzzxid;// 计薪规则组项id
private Integer xcjsgzid;// 薪酬计算规则公式id
private String formula;// 公式
}
......@@ -16,7 +16,7 @@
<result column="qyid" property="qyid" />
<result column="pxfs" property="pxfs" />
<result column="monthtime" property="monthtime" />
<result column="salarymonth" property="salarymonth" />
<result column="xzyf" property="xzyf" />
</resultMap>
<resultMap id="PayrollExceptionDtoMap" type="cn.timer.api.dto.xcgl.PayrollExceptionDto" >
......
......@@ -18,6 +18,7 @@
<result column="xzzid" property="xzzid" />
<result column="rulestate" property="rulestate" />
<result column="optionid" property="optionid" />
<result column="is_custom" property="isCustom" />
</resultMap>
......@@ -39,40 +40,6 @@
<result column="salaryitem" property="salaryitem"/>
<result column="rsz" property="rsz"/>
</resultMap>
<sql id="Base_Column_List">
id,
salaryitem,
yhmbzd,
rule,
type,
addtime,
adduserid,
jxgzid,
remarks,
gsid,
gsgs,
xzzid,
rulestate,
optionid
</sql>
<sql id="Base_Column_List_Alias">
id XcglAssoJsgzzx_id,
salaryitem XcglAssoJsgzzx_salaryitem,
yhmbzd XcglAssoJsgzzx_yhmbzd,
rule XcglAssoJsgzzx_rule,
type XcglAssoJsgzzx_type,
addtime XcglAssoJsgzzx_addtime,
adduserid XcglAssoJsgzzx_adduserid,
jxgzid XcglAssoJsgzzx_jxgzid,
remarks XcglAssoJsgzzx_remarks,
gsid XcglAssoJsgzzx_gsid,
gsgs XcglAssoJsgzzx_gsgs,
xzzid XcglAssoJsgzzx_xzzid,
rulestate XcglAssoJsgzzx_rulestate,
optionid XcglAssoJsgzzx_optionid
</sql>
<select id="selectSalarySectionList" resultMap="BaseResultMap">
select jsgzzx.* from xcgl_asso_jsgzzx jsgzzx
......@@ -203,7 +170,10 @@
rulestate,
</if>
<if test ='null != optionid'>
optionid
optionid,
</if>
<if test ='null != isCustom'>
is_custom
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
......@@ -244,7 +214,10 @@
#{rulestate},
</if>
<if test ='null != optionid'>
#{optionid}
#{optionid},
</if>
<if test ='null != isCustom'>
#{isCustom}
</if>
</trim>
</insert>
......@@ -264,32 +237,12 @@
<if test ='null != gsgs'>gsgs = #{gsgs},</if>
<if test ='null != xzzid'>xzzid = #{xzzid},</if>
<if test ='null != rulestate'>rulestate = #{rulestate},</if>
<if test ='null != optionid'>optionid = #{optionid}</if>
<if test ='null != optionid'>optionid = #{optionid},</if>
<if test ='null != optionid'>is_custom = #{isCustom}</if>
</set>
WHERE id = #{id}
</update>
<!-- <delete id="delete" >
DELETE FROM xcgl_asso_jsgzzx
WHERE id = #{id}
</delete>
<select id="load" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List" />
FROM xcgl_asso_jsgzzx
WHERE id = #{id}
</select>
<select id="pageList" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List" />
FROM xcgl_asso_jsgzzx
LIMIT #{offset}, #{pageSize}
</select>
<select id="pageListCount" resultType="java.lang.Integer">
SELECT count(1)
FROM xcgl_asso_jsgzzx
</select> -->
</mapper>
\ No newline at end of file
......@@ -10,6 +10,7 @@
<result column="dygk" property="dygk" />
<result column="degk" property="degk" />
<result column="type" property="type" />
<result column="optionid" property="optionid" />
</resultMap>
<sql id="Base_Column_List">
......
......@@ -74,8 +74,7 @@
left join zzgl_bmgw_m um on um.id = m.up_id
) as bmgw on bmgw.mid = emp.bmgw_id
where emp.emp_num in (select xzury.userid from xcgl_asso_xzury xzury where xzury.xzzid = #{xzzid})
and xzbs.xzyf = #{xzyf} or xzbs.xzyf = ''
and emp.emp_num in (select xzury.userid from xcgl_asso_xzury xzury where xzury.xzzid = #{xzzid})
and xzbs.xzyf = (select xzz.xzyf from xcgl_admin_xzz xzz where xzz.id = #{xzzid})
) as aa
where aa.orgcode = #{orgcode}
</select>
......
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