|
@@ -6,6 +6,8 @@ import cn.ezhizao.common.utils.poi.ExcelUtil;
|
|
import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
|
|
import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
|
|
import cn.ezhizao.framework.aspectj.lang.annotation.Log;
|
|
import cn.ezhizao.framework.aspectj.lang.annotation.Log;
|
|
import cn.ezhizao.framework.aspectj.lang.enums.BusinessType;
|
|
import cn.ezhizao.framework.aspectj.lang.enums.BusinessType;
|
|
|
|
+import cn.ezhizao.framework.lock.DistributionLock;
|
|
|
|
+import cn.ezhizao.framework.lock.LockKey;
|
|
import cn.ezhizao.framework.web.controller.BaseController;
|
|
import cn.ezhizao.framework.web.controller.BaseController;
|
|
import cn.ezhizao.framework.web.domain.AjaxResult;
|
|
import cn.ezhizao.framework.web.domain.AjaxResult;
|
|
import cn.ezhizao.framework.web.page.TableDataInfo;
|
|
import cn.ezhizao.framework.web.page.TableDataInfo;
|
|
@@ -35,6 +37,7 @@ import cn.ezhizao.project.business.workOrder.service.IBizWorkOrderRecordService;
|
|
import cn.ezhizao.project.system.domain.SysUser;
|
|
import cn.ezhizao.project.system.domain.SysUser;
|
|
import cn.ezhizao.project.system.mapper.SysUserMapper;
|
|
import cn.ezhizao.project.system.mapper.SysUserMapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
+import org.apache.tomcat.jni.Lock;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -244,15 +247,24 @@ public class BizFinancialSalaryZeroController extends BaseController {
|
|
@Log(title = "生产管理-工资零申报-新增", businessType = BusinessType.INSERT)
|
|
@Log(title = "生产管理-工资零申报-新增", businessType = BusinessType.INSERT)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public AjaxResult saveDetail(@RequestBody BizFinancialSalaryDetail bizFinancialSalaryDetail) {
|
|
public AjaxResult saveDetail(@RequestBody BizFinancialSalaryDetail bizFinancialSalaryDetail) {
|
|
- // 判断之前是否有保存一个明细
|
|
|
|
- BizFinancialSalaryDetail conditions = new BizFinancialSalaryDetail();
|
|
|
|
- conditions.setFinancialSalaryId(bizFinancialSalaryDetail.getFinancialSalaryId());
|
|
|
|
- conditions.setYear(bizFinancialSalaryDetail.getYear());
|
|
|
|
- conditions.setMonth(bizFinancialSalaryDetail.getMonth());
|
|
|
|
- if (!bizFinancialSalaryDetailService.getList(conditions).isEmpty()) {
|
|
|
|
- return error("该月已添加工资信息,请刷新列表。");
|
|
|
|
|
|
+
|
|
|
|
+ String join = LockKey.join(LockKey.SALARYZERO, getUserId());
|
|
|
|
+ DistributionLock lock = new DistributionLock(join);
|
|
|
|
+ try {
|
|
|
|
+ lock.lock();
|
|
|
|
+ // 判断之前是否有保存一个明细
|
|
|
|
+ BizFinancialSalaryDetail conditions = new BizFinancialSalaryDetail();
|
|
|
|
+ conditions.setFinancialSalaryId(bizFinancialSalaryDetail.getFinancialSalaryId());
|
|
|
|
+ conditions.setYear(bizFinancialSalaryDetail.getYear());
|
|
|
|
+ conditions.setMonth(bizFinancialSalaryDetail.getMonth());
|
|
|
|
+ if (!bizFinancialSalaryDetailService.getList(conditions).isEmpty()) {
|
|
|
|
+ return error("该月已添加工资信息,请刷新列表。");
|
|
|
|
+ }
|
|
|
|
+ return toAjax(bizFinancialSalaryDetailService.save(bizFinancialSalaryDetail) && addRecord(bizFinancialSalaryDetail.getFinancialSalaryId(), bizFinancialSalaryDetail.getYear(), bizFinancialSalaryDetail.getMonth(), SecurityUtils.getUserId(), "填写工资信息"));
|
|
|
|
+ }finally {
|
|
|
|
+ lock.unlock();
|
|
}
|
|
}
|
|
- return toAjax(bizFinancialSalaryDetailService.save(bizFinancialSalaryDetail) && addRecord(bizFinancialSalaryDetail.getFinancialSalaryId(), bizFinancialSalaryDetail.getYear(), bizFinancialSalaryDetail.getMonth(), SecurityUtils.getUserId(), "填写工资信息"));
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
@PreAuthorize("@ss.hasPermi('business:salary:edit')")
|
|
@PreAuthorize("@ss.hasPermi('business:salary:edit')")
|
|
@@ -309,6 +321,7 @@ public class BizFinancialSalaryZeroController extends BaseController {
|
|
@PreAuthorize("@ss.hasPermi('business:salaryZero:verify')")
|
|
@PreAuthorize("@ss.hasPermi('business:salaryZero:verify')")
|
|
@PostMapping("/turnBackDetail")
|
|
@PostMapping("/turnBackDetail")
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
+ @Log(title = "生产管理-工资零申报-审核退回", businessType = BusinessType.UPDATE)
|
|
public AjaxResult turnBackDetail(@RequestBody BizFinancialSalaryDetail detail) {
|
|
public AjaxResult turnBackDetail(@RequestBody BizFinancialSalaryDetail detail) {
|
|
// 先判断是否收票完成,收票完成状态不能进行工资退回
|
|
// 先判断是否收票完成,收票完成状态不能进行工资退回
|
|
BizFinancialReceiveTicketDetail financialReceiveTicketDetail = financialReceiveTicketDetailService.query().eq("company_id", detail.getCompanyId()).eq("year", detail.getYear()).eq("month", detail.getMonth()).one();
|
|
BizFinancialReceiveTicketDetail financialReceiveTicketDetail = financialReceiveTicketDetailService.query().eq("company_id", detail.getCompanyId()).eq("year", detail.getYear()).eq("month", detail.getMonth()).one();
|