Commit a3b20ed4 authored by hongguangwu's avatar hongguangwu

劳务费

parent 60c6006d
......@@ -104,7 +104,7 @@ public class EkpSalaryUtil {
}
// 退表到ekp
public String backStandardToEKP(String loginName, EkpSalaryBackParam param){
public String backStandardToEKP(EkpSalaryBackParam param){
log.info("推送EKP开始--薪资退表");
RestTemplate yourRestTemplate = new RestTemplate();
try{
......@@ -112,7 +112,7 @@ public class EkpSalaryUtil {
//把ModelingAppModelParameterAddForm转换成MultiValueMap
MultiValueMap<String,Object> wholeForm = new LinkedMultiValueMap<>();
wholeForm.add("docSubject",ekpProperties.getDocSubject());
wholeForm.add("docCreator", "{\"LoginName\":\"" + loginName+ "\"}");
wholeForm.add("docCreator", "{\"LoginName\":\"admin\"}");
wholeForm.add("docStatus", ekpProperties.getDocStatus());
String formValues = new ObjectMapper().writeValueAsString(param);
wholeForm.add("formValues", formValues);
......
......@@ -24,5 +24,9 @@ public class EkpSalaryBackParam implements Serializable {
* 薪酬申请编号
**/
private String fd_3b3c293811c0ee;
/**
* 薪酬推送姓名(英文的登录名)
**/
private String fd_3b422d73d73e02;
}
......@@ -362,12 +362,15 @@ public class TSalaryAccount extends BaseEntity {
private Integer isRepeat;
/**
* 是否个人承担部分税费:0否1是
* 是否个人承担部分税费
* 公司承担全部税费0
* 个人承担部分税费1
* 个人承担全部税费2
*/
@ExcelAttribute(name = "是否个人承担部分税费:0否1是", maxLength = 1)
@Length(max = 1, message = "是否个人承担部分税费:0否1是不能超过1个字符")
@ExcelAttribute(name = "是否个人承担部分税费", maxLength = 8, readConverterExp = "0=公司承担全部税费,1=个人承担部分税费,2=个人承担全部税费")
@Length(max = 1, message = "是否个人承担部分税费不能超过1个字符")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("是否个人承担部分税费:0否1是")
@ExcelProperty("是否个人承担部分税费")
private String isPersonTax;
/**
* 应发薪酬(劳务费、稿酬)
......
......@@ -283,12 +283,15 @@ public class TSalaryAccountVo implements Serializable {
private String bankCity;
/**
* 是否个人承担部分税费:0否1是
* 是否个人承担部分税费
* 公司承担全部税费0
* 个人承担部分税费1
* 个人承担全部税费2
*/
@ExcelAttribute(name = "是否个人承担部分税费:0否1是", maxLength = 1)
@Length(max = 1, message = "是否个人承担部分税费:0否1是不能超过1个字符")
@ExcelAttribute(name = "是否个人承担部分税费", maxLength = 8)
@Length(max = 8, message = "是否个人承担部分税费:0否1是2全不能超过1个字符")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("是否个人承担部分税费:0否1是")
@ExcelProperty("是否个人承担部分税费")
private String isPersonTax;
/**
* 应发薪酬(劳务费、稿酬)
......
......@@ -46,4 +46,6 @@ public interface TSalaryEmployeeMapper extends BaseMapper<TSalaryEmployee> {
List<TSalaryEmployeeExportVo> noPageDiy( @Param("tSalaryEmployee") TSalaryEmployeeSearchVo searchVo, @Param("idList")List<String> idList);
List<TSalaryEmployee> getListByIdCard(@Param("idCardList") List<String> idCardList);
TSalaryEmployee getByEmpIdCard(@Param("empIdCard") String empIdCard);
}
......@@ -51,13 +51,14 @@ public interface TSalaryEmployeeService extends IService<TSalaryEmployee> {
List<TSalaryEmployeeExportVo> noPageDiy(TSalaryEmployeeSearchVo searchVo);
/**
* @param notLabour 是:非劳务费人员。 否:劳务费,不保存
* @param employee
* @Description: 新建薪资员工,返回值为null,保存成功。其余都是失败原因
* @Author: hgw
* @Date: 2022/8/17 16:03
* @return: java.lang.String
**/
String saveNewSalaryEmployee(TSalaryEmployee employee);
String saveNewSalaryEmployee(boolean notLabour, TSalaryEmployee employee);
/**
* @param inputStream
......@@ -68,4 +69,6 @@ public interface TSalaryEmployeeService extends IService<TSalaryEmployee> {
**/
R<List<ErrorMessage>> batchUpdateSalaryEmployee(InputStream inputStream);
TSalaryEmployee getByEmpIdCard(String empIdCard);
}
......@@ -1683,7 +1683,7 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
BigDecimal nowTaxY;
BigDecimal relaySalary;
BigDecimal salaryTax = BigDecimal.ZERO;
if (CommonConstants.ONE_STRING.equals(a.getIsPersonTax())) {
if (SalaryConstants.IS_PERSON_OTHER.equals(a.getIsPersonTax())) {
nowTaxT = getNowTax(actualSalarySumNow);
if (actualSalarySum.compareTo(actualSalarySumNow) != 0) {
actualSalarySumT = BigDecimalUtils.safeAdd(nowTaxT, sumSalaryTax, actualSalarySumNow).setScale(SalaryConstants.PLACES, BigDecimal.ROUND_HALF_UP);
......@@ -1700,7 +1700,7 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
a.setSalaryTax(salaryTax);
a.setSalaryTaxUnit(nowTaxT);
a.setActualSalary(BigDecimalUtils.safeSubtract(actualSalarySumNow, salaryTax));
} else {
} else if (SalaryConstants.IS_COMPANY.equals(a.getIsPersonTax())) {
getNowTax(actualSalarySumNow);
nowTaxY = getNowTax(actualSalarySum);
a.setActualSalary(actualSalarySumNow);
......@@ -1709,6 +1709,13 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
}
a.setSalaryTaxUnit(nowTaxY);
relaySalary = BigDecimalUtils.safeAdd(actualSalarySumNow, nowTaxY).setScale(SalaryConstants.PLACES, BigDecimal.ROUND_HALF_UP);
} else {
// TODO-@胡 :个人承担全部税费,实发要变为应发,推算出实发、个税
nowTaxY = BigDecimal.ZERO;
relaySalary = a.getActualSalary();
}
a.setRelaySalaryUnit(relaySalary);
a.setRelaySalary(actualSalarySumNow);
......
......@@ -274,6 +274,7 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
}
/**
* @param notLabour 是:非劳务费人员。 否:劳务费,不保存
* @param employee
* @Description: 新建薪资员工,返回值为null,保存成功。其余都是失败原因
* @Author: hgw
......@@ -281,7 +282,7 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
* @return: java.lang.String
**/
@Override
public String saveNewSalaryEmployee(TSalaryEmployee employee) {
public String saveNewSalaryEmployee(boolean notLabour,TSalaryEmployee employee) {
if (Common.isNotNull(employee.getEmpName()) && Common.isNotNull(employee.getEmpIdcard())) {
// 银行卡
if (Common.isNotNull(employee.getBankNo())) {
......@@ -306,22 +307,6 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
return pre + SalaryConstants.CHECK_NO_RESPONSE;
}
}
// if (Common.isNotNull(employee.getBankNo())) {
// // 调用校验服务
// TCheckBankNo checkIdCard = new TCheckBankNo();
// checkIdCard.setName(employee.getEmpName());
// checkIdCard.setBankNo(employee.getBankNo());
// R<TCheckBankNo> checkListR = HttpDaprUtil.invokeMethodPost(checkProperties.getAppUrl(), checkProperties.getAppId()
// , "/tcheckbankno/inner/checkBankNo", checkIdCard, TCheckBankNo.class, SecurityConstants.FROM_IN);
// if (checkListR != null && checkListR.getData() != null) {
// TCheckBankNo check = checkListR.getData();
// if (!CommonConstants.ONE_STRING.equals(check.getResult())) {
// return check.getMessage();
// }
// } else {
// return "校验服务未找到银行卡,请联系管理员";
// }
// }
// 手机号
if (Common.isNotNull(employee.getEmpPhone())) {
// 调用校验服务-校验手机号
......@@ -342,7 +327,9 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
}
}
}
this.save(employee);
if (!notLabour) {
this.save(employee);
}
return null;
}
......@@ -442,7 +429,7 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
// 人员Map
Map<String, TSalaryEmployee> empMap = new HashMap<>();
for (TSalaryEmployee e : empList) {
empMap.put(e.getEmpIdcard() + CommonConstants.DOWN_LINE_STRING + e.getDeptNo(), e);
empMap.put(e.getEmpIdcard(), e);
}
TSalaryEmployee emp;
// 开户行省市的区域暂存
......@@ -451,8 +438,8 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
for (int i = 0; i < excelVOList.size(); i++) {
excel = excelVOList.get(i);
if (excel != null) {
if (Common.isNotNull(excel.getEmpIdcard()) && Common.isNotNull(excel.getDeptNo())) {
emp = empMap.get(excel.getEmpIdcard() + CommonConstants.DOWN_LINE_STRING + excel.getDeptNo());
if (Common.isNotNull(excel.getEmpIdcard())) {
emp = empMap.get(excel.getEmpIdcard());
if (Common.isNotNull(emp)) {
curTaxMonth = false;
if (Common.isNotNull(emp.getTaxMonth()) && Common.isNotNull(excel.getTaxMonth()) && emp.getTaxMonth().length()==6) {
......@@ -501,11 +488,17 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), SalaryConstants.NOT_HAVE_EMP));
}
} else {
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), SalaryConstants.IDCARD_DEPT_NO_MUST));
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), SalaryConstants.ID_CARD_MUST));
}
} else {
errorMessageList.add(new ErrorMessage(CommonConstants.ZERO_INT, SalaryConstants.IDCARD_DEPT_NO_MUST));
errorMessageList.add(new ErrorMessage(CommonConstants.ZERO_INT, SalaryConstants.DATA_MUST));
}
}
}
@Override
public TSalaryEmployee getByEmpIdCard(String empIdCard) {
return baseMapper.getByEmpIdCard(empIdCard);
}
}
......@@ -416,6 +416,7 @@ public class TSalaryStandardServiceImpl extends ServiceImpl<TSalaryStandardMappe
if (sf != null && Common.isNotNull(sf.getId())) {
if (sf.getStatus() != null && !SalaryConstants.AUDIT_STATUS[0].equals(sf.getStatus())
&& !SalaryConstants.AUDIT_STATUS[5].equals(sf.getStatus())
&& !SalaryConstants.AUDIT_STATUS[6].equals(sf.getStatus())
&& !SalaryConstants.AUDIT_STATUS[7].equals(sf.getStatus())) {
return R.failed("状态为:【" + SalaryConstants.AUDIT_STATUS_STRING[sf.getStatus()] + "】,不可删除");
}
......@@ -908,15 +909,14 @@ public class TSalaryStandardServiceImpl extends ServiceImpl<TSalaryStandardMappe
param.setFd_3b3c2935c13056(ss.getDeptNo());
param.setFd_3b3c293811c0ee(ss.getApplyNo());
YifuUser user = SecurityUtils.getUser();
String loginName;
if (user != null) {
loginName = user.getUsername();
param.setFd_3b422d73d73e02(user.getUsername());
} else {
loginName = ss.getCreateName();
param.setFd_3b422d73d73e02("");
}
String sendBack = ekpSalaryUtil.backStandardToEKP(loginName, param);
String sendBack = ekpSalaryUtil.backStandardToEKP(param);
if (Common.isEmpty(sendBack) || sendBack.length() != 32) {
sendBack = ekpSalaryUtil.backStandardToEKP(loginName, param);
sendBack = ekpSalaryUtil.backStandardToEKP(param);
}
if (Common.isNotNull(sendBack) && sendBack.length() == 32) {
// 更新薪资为确认不通过
......@@ -936,6 +936,7 @@ public class TSalaryStandardServiceImpl extends ServiceImpl<TSalaryStandardMappe
, Object.class, SecurityConstants.FROM_IN);
// 添加流程进展明细
if (user != null) {
ss.setRemark(" ");
this.saveRecordLog(ss, user, CommonConstants.ZERO_STRING, "从EKP退表");
}
return R.ok();
......
......@@ -463,6 +463,12 @@ public class SalaryCommonUtil implements Serializable {
field.set(entity, "0");
} else if ("单独".equals(cellValueStr)) {
field.set(entity, "1");
} else if (SalaryConstants.IS_COMPANY.equals(cellValueStr)) {
field.set(entity, SalaryConstants.IS_PERSON_TAX_ARR[0]);
} else if (SalaryConstants.IS_PERSON_OTHER.equals(cellValueStr)) {
field.set(entity, SalaryConstants.IS_PERSON_TAX_ARR[1]);
} else if (SalaryConstants.IS_PERSON.equals(cellValueStr)) {
field.set(entity, SalaryConstants.IS_PERSON_TAX_ARR[2]);
} else {
field.set(entity, cellValueStr);
}
......
......@@ -21,7 +21,7 @@ public class SalaryConstants {
* @Date: 2019/10/10 14:55
* @return:
**/
public static final Integer[] AUDIT_STATUS = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
public static final Integer[] AUDIT_STATUS = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
public static final int[] STATUS = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
public static final String[] AUDIT_STATUS_STRING = {"待提交", "待审核", "-", "待发放", "已发放", "审核不通过", "确认不通过", "财务退回", "结算单调整待审核", "结算单调整待打印"};
......@@ -101,7 +101,7 @@ public class SalaryConstants {
// 年终奖扣税方式:单独
public static final String ANNUAL_BONUS_ALONE = "单独";
public static final String ANNUAL_BONUS_MERGE = "合并";
// 年终奖扣税方式的值:0合并/1单独
// 年终奖扣税方式的值:0合并/1单独
public static final String[] ANNUAL_BONUS_TAX_TYPE_VALUE = {"0","1"};
public static final String PRE_CURRENT_SUPPLY = "前次个人待补足";
......@@ -142,8 +142,17 @@ public class SalaryConstants {
public static final String ACTUAL_SALARY_SUM = "个人实发合计";
//个人实发合计
public static final String ACTUAL_SALARY_SUM_JAVA = "actualSalarySum";
//个人代扣
// 是否个人承担部分税费
public static final String IS_PERSON_TAX = "isPersonTax";
// 是否个人承担部分税费数组
public static final String IS_PERSON_TAX_ARR[] = {"0","1","2"};
// 公司承担全部税费0
public static final String IS_COMPANY = "公司承担全部税费";
// 个人承担部分税费1
public static final String IS_PERSON_OTHER = "个人承担部分税费";
// 个人承担全部税费2
public static final String IS_PERSON = "个人承担全部税费";
//个人代扣
public static final String PDEDUCTION_JAVA = "pdeduction";
//单位代扣
public static final String UDEDUCTION_JAVA = "udeduction";
......@@ -168,9 +177,9 @@ public class SalaryConstants {
public static final String CHECK_NO_RESPONSE = "校验服务器未返回,请联系管理员!";
public static final String LINE_EMP = "行:员工:";
public static final String IDCARD_DEPT_NO_MUST = "身份证、项目编码不可为空!";
public static final String DATA_MUST = "未获取到表格数据!";
public static final String ID_CARD_MUST = "身份证不可为空!";
public static final String NOT_HAVE_EMP = "根据身份证、项目编码未找到人员!";
public static final String TAX_MONTH_CUR = "计税月份已存在,不可更新,请清空计税月份单元格内容!";
public static final String PROVINCE_ERROR = "开户行省错误!";
public static final String CITY_ERROR = "开户行市错误!";
public static final String CUR_TAX_INFO = "当前项目薪酬人员已维护计税月份,计税月份沿用系统原值,其他字段已更新!";
......
......@@ -221,4 +221,13 @@
</foreach>
</if>
</select>
<!-- 按身份证查询人员 -->
<select id="getByEmpIdCard" resultMap="tSalaryEmployeeMap" >
SELECT
<include refid="Base_Column_List"/>
FROM t_salary_employee a
where a.EMP_IDCARD = #{empIdCard}
ORDER BY a.BANK_CITY DESC LIMIT 1
</select>
</mapper>
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