|
@@ -8,6 +8,7 @@ import java.util.stream.Collectors;
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
|
|
+import cn.ezhizao.common.utils.DateUtils;
|
|
import cn.ezhizao.project.business.company.domain.BizCompany;
|
|
import cn.ezhizao.project.business.company.domain.BizCompany;
|
|
import cn.ezhizao.project.business.company.service.IBizCompanyService;
|
|
import cn.ezhizao.project.business.company.service.IBizCompanyService;
|
|
import cn.ezhizao.project.business.deposit.domain.BizDeposit;
|
|
import cn.ezhizao.project.business.deposit.domain.BizDeposit;
|
|
@@ -36,6 +37,7 @@ import cn.ezhizao.project.business.workOrder.service.IBizWorkOrderRecordService;
|
|
import cn.ezhizao.project.business.workOrder.service.IBizWorkOrderService;
|
|
import cn.ezhizao.project.business.workOrder.service.IBizWorkOrderService;
|
|
import cn.hutool.core.date.DateField;
|
|
import cn.hutool.core.date.DateField;
|
|
import cn.hutool.core.date.DateTime;
|
|
import cn.hutool.core.date.DateTime;
|
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
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;
|
|
@@ -64,8 +66,7 @@ import cn.ezhizao.framework.web.page.TableDataInfo;
|
|
*/
|
|
*/
|
|
@RestController
|
|
@RestController
|
|
@RequestMapping("/business/deduct")
|
|
@RequestMapping("/business/deduct")
|
|
-public class BizDeductController extends BaseController
|
|
|
|
-{
|
|
|
|
|
|
+public class BizDeductController extends BaseController {
|
|
@Resource
|
|
@Resource
|
|
private IBizDeductService bizDeductService;
|
|
private IBizDeductService bizDeductService;
|
|
@Resource
|
|
@Resource
|
|
@@ -100,18 +101,17 @@ public class BizDeductController extends BaseController
|
|
*/
|
|
*/
|
|
@PreAuthorize("@ss.hasPermi('business:deduct:list')")
|
|
@PreAuthorize("@ss.hasPermi('business:deduct:list')")
|
|
@GetMapping("/list")
|
|
@GetMapping("/list")
|
|
- public TableDataInfo list(BizDeduct bizDeduct) throws NoSuchFieldException, IllegalAccessException
|
|
|
|
- {
|
|
|
|
|
|
+ public TableDataInfo list(BizDeduct bizDeduct) throws NoSuchFieldException, IllegalAccessException {
|
|
setTenantId(bizDeduct);
|
|
setTenantId(bizDeduct);
|
|
startPage();
|
|
startPage();
|
|
startOrderBy();
|
|
startOrderBy();
|
|
List<BizDeduct> list = bizDeductService.getList(bizDeduct);
|
|
List<BizDeduct> list = bizDeductService.getList(bizDeduct);
|
|
return getDataTable(list);
|
|
return getDataTable(list);
|
|
}
|
|
}
|
|
|
|
+
|
|
@PreAuthorize("@ss.hasPermi('business:deduct:list')")
|
|
@PreAuthorize("@ss.hasPermi('business:deduct:list')")
|
|
@GetMapping("/getEntrustOrder/{id}")
|
|
@GetMapping("/getEntrustOrder/{id}")
|
|
- public AjaxResult getEntrustOrder(@PathVariable("id") Long id) throws NoSuchFieldException, IllegalAccessException
|
|
|
|
- {
|
|
|
|
|
|
+ public AjaxResult getEntrustOrder(@PathVariable("id") Long id) throws NoSuchFieldException, IllegalAccessException {
|
|
BizEntrustOrder bizEntrustOrder = bizEntrustOrderService.getById(id);
|
|
BizEntrustOrder bizEntrustOrder = bizEntrustOrderService.getById(id);
|
|
return success(bizEntrustOrder);
|
|
return success(bizEntrustOrder);
|
|
}
|
|
}
|
|
@@ -122,8 +122,7 @@ public class BizDeductController extends BaseController
|
|
@PreAuthorize("@ss.hasPermi('business:deduct:export')")
|
|
@PreAuthorize("@ss.hasPermi('business:deduct:export')")
|
|
@Log(title = "扣款记录", businessType = BusinessType.EXPORT)
|
|
@Log(title = "扣款记录", businessType = BusinessType.EXPORT)
|
|
@PostMapping("/export")
|
|
@PostMapping("/export")
|
|
- public void export(HttpServletResponse response, BizDeduct bizDeduct) throws NoSuchFieldException, IllegalAccessException
|
|
|
|
- {
|
|
|
|
|
|
+ public void export(HttpServletResponse response, BizDeduct bizDeduct) throws NoSuchFieldException, IllegalAccessException {
|
|
setTenantId(bizDeduct);
|
|
setTenantId(bizDeduct);
|
|
List<BizDeduct> list = bizDeductService.getList(bizDeduct);
|
|
List<BizDeduct> list = bizDeductService.getList(bizDeduct);
|
|
ExcelUtil<BizDeduct> util = new ExcelUtil<BizDeduct>(BizDeduct.class);
|
|
ExcelUtil<BizDeduct> util = new ExcelUtil<BizDeduct>(BizDeduct.class);
|
|
@@ -135,8 +134,7 @@ public class BizDeductController extends BaseController
|
|
*/
|
|
*/
|
|
@PreAuthorize("@ss.hasPermi('business:deduct:info')")
|
|
@PreAuthorize("@ss.hasPermi('business:deduct:info')")
|
|
@GetMapping(value = "/{id}")
|
|
@GetMapping(value = "/{id}")
|
|
- public AjaxResult getInfo(@PathVariable("id") Long id)
|
|
|
|
- {
|
|
|
|
|
|
+ public AjaxResult getInfo(@PathVariable("id") Long id) {
|
|
BizDeduct conditions = new BizDeduct();
|
|
BizDeduct conditions = new BizDeduct();
|
|
conditions.setId(id);
|
|
conditions.setId(id);
|
|
BizDeduct deduct = bizDeductService.getList(conditions).stream().findFirst().orElse(null);
|
|
BizDeduct deduct = bizDeductService.getList(conditions).stream().findFirst().orElse(null);
|
|
@@ -160,20 +158,19 @@ public class BizDeductController extends BaseController
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* 获取扣款记录详细信息
|
|
* 获取扣款记录详细信息
|
|
*/
|
|
*/
|
|
@PreAuthorize("@ss.hasPermi('business:deduct:add')")
|
|
@PreAuthorize("@ss.hasPermi('business:deduct:add')")
|
|
@GetMapping(value = "/gen")
|
|
@GetMapping(value = "/gen")
|
|
- public AjaxResult genInfo(BizDeduct conditions)
|
|
|
|
- {
|
|
|
|
|
|
+ public AjaxResult genInfo(BizDeduct conditions) {
|
|
// 获取主表
|
|
// 获取主表
|
|
BizDeduct bizDeduct = new BizDeduct();
|
|
BizDeduct bizDeduct = new BizDeduct();
|
|
bizDeduct.setEntrustOrderId(conditions.getEntrustOrderId());
|
|
bizDeduct.setEntrustOrderId(conditions.getEntrustOrderId());
|
|
- bizDeduct.setMonth(DateTime.of(conditions.getCurrentDate()).toString("MM"));
|
|
|
|
- bizDeduct.setYear(DateTime.of(conditions.getCurrentDate()).toString("yyyy"));
|
|
|
|
|
|
+ bizDeduct.setMonth(DateTime.of(conditions.getStartMonth()).toString("MM"));
|
|
|
|
+ bizDeduct.setYear(DateTime.of(conditions.getStartMonth()).toString("yyyy"));
|
|
|
|
+ bizDeduct.setStartMonth(conditions.getStartMonth());
|
|
|
|
+ bizDeduct.setEndMonth(conditions.getEndMonth());
|
|
bizDeduct.setStatementDate(DateTime.now().toJdkDate());
|
|
bizDeduct.setStatementDate(DateTime.now().toJdkDate());
|
|
|
|
|
|
BizEntrustOrder entrustCondition = new BizEntrustOrder();
|
|
BizEntrustOrder entrustCondition = new BizEntrustOrder();
|
|
@@ -188,6 +185,8 @@ public class BizDeductController extends BaseController
|
|
bizDeduct.setFromTenantId(bizEntrustOrder.getFromTenantId());
|
|
bizDeduct.setFromTenantId(bizEntrustOrder.getFromTenantId());
|
|
bizDeduct.setContactCompany(bizEntrustOrder.getContactCompany());
|
|
bizDeduct.setContactCompany(bizEntrustOrder.getContactCompany());
|
|
bizDeduct.setSigningSubject(bizEntrustOrder.getSigningSubject());
|
|
bizDeduct.setSigningSubject(bizEntrustOrder.getSigningSubject());
|
|
|
|
+ bizDeduct.setStartMonth(conditions.getStartMonth());
|
|
|
|
+ bizDeduct.setEndMonth(conditions.getEndMonth());
|
|
// 上期余额
|
|
// 上期余额
|
|
BizDeposit totalCondition = new BizDeposit();
|
|
BizDeposit totalCondition = new BizDeposit();
|
|
totalCondition.setEntrustOrderId(bizEntrustOrder.getId());
|
|
totalCondition.setEntrustOrderId(bizEntrustOrder.getId());
|
|
@@ -201,21 +200,29 @@ public class BizDeductController extends BaseController
|
|
BizEntrust entrustLoopCondition = new BizEntrust();
|
|
BizEntrust entrustLoopCondition = new BizEntrust();
|
|
entrustLoopCondition.setToTenantId(bizEntrustOrder.getTenantId());
|
|
entrustLoopCondition.setToTenantId(bizEntrustOrder.getTenantId());
|
|
entrustLoopCondition.setFromTenantId(bizEntrustOrder.getFromTenantId());
|
|
entrustLoopCondition.setFromTenantId(bizEntrustOrder.getFromTenantId());
|
|
- entrustLoopCondition.setWorkMonth(DateTime.of(conditions.getCurrentDate()).toSqlDate());
|
|
|
|
|
|
+// entrustLoopCondition.setWorkMonth(DateTime.of(conditions.getCurrentDate()).toSqlDate());
|
|
|
|
+ entrustLoopCondition.setWorkMonthFrom(DateTime.of(conditions.getStartMonth()).toSqlDate());
|
|
|
|
+ entrustLoopCondition.setWorkMonthTo(DateTime.of(conditions.getEndMonth()).toSqlDate());
|
|
entrustLoopCondition.setType(1);
|
|
entrustLoopCondition.setType(1);
|
|
List<BizEntrust> loopEntrust = entrustService.getList(entrustLoopCondition);
|
|
List<BizEntrust> loopEntrust = entrustService.getList(entrustLoopCondition);
|
|
List<BizStatementAccountLoop> loops = new ArrayList<>();
|
|
List<BizStatementAccountLoop> loops = new ArrayList<>();
|
|
BizFinancialKeepAccountDetail keepAccountCondition = new BizFinancialKeepAccountDetail();
|
|
BizFinancialKeepAccountDetail keepAccountCondition = new BizFinancialKeepAccountDetail();
|
|
- keepAccountCondition.setYear(DateTime.of(bizDeduct.getCurrentDate()).offset(DateField.MONTH, -1).toString("yyyy"));
|
|
|
|
- keepAccountCondition.setMonth(DateTime.of(bizDeduct.getCurrentDate()).offset(DateField.MONTH, -1).toString("MM"));
|
|
|
|
|
|
+// keepAccountCondition.setYear(DateTime.of(bizDeduct.getCurrentDate()).offset(DateField.MONTH, -1).toString("yyyy"));
|
|
|
|
+// keepAccountCondition.setMonth(DateTime.of(bizDeduct.getCurrentDate()).offset(DateField.MONTH, -1).toString("MM"));
|
|
|
|
+ keepAccountCondition.setStartMonth(DateTime.of(conditions.getStartMonth()).toSqlDate());
|
|
|
|
+ keepAccountCondition.setEndMonth(DateTime.of(conditions.getEndMonth()).toSqlDate());
|
|
List<BizFinancialKeepAccountDetail> keepAccountDetails = keepAccountDetailService.getList(keepAccountCondition);
|
|
List<BizFinancialKeepAccountDetail> keepAccountDetails = keepAccountDetailService.getList(keepAccountCondition);
|
|
BizHousingFundConfirmDetail housingFundCondition = new BizHousingFundConfirmDetail();
|
|
BizHousingFundConfirmDetail housingFundCondition = new BizHousingFundConfirmDetail();
|
|
- housingFundCondition.setYear(DateTime.of(bizDeduct.getCurrentDate()).toString("yyyy"));
|
|
|
|
- housingFundCondition.setMonth(DateTime.of(bizDeduct.getCurrentDate()).toString("MM"));
|
|
|
|
|
|
+// housingFundCondition.setYear(DateTime.of(bizDeduct.getCurrentDate()).toString("yyyy"));
|
|
|
|
+// housingFundCondition.setMonth(DateTime.of(bizDeduct.getCurrentDate()).toString("MM"));
|
|
|
|
+ housingFundCondition.setStartMonth(DateTime.of(conditions.getStartMonth()).toSqlDate());
|
|
|
|
+ housingFundCondition.setEndMonth(DateTime.of(conditions.getEndMonth()).toSqlDate());
|
|
List<BizHousingFundConfirmDetail> housingFundConfirmDetails = bizHousingFundConfirmDetailService.getListByBean(housingFundCondition);
|
|
List<BizHousingFundConfirmDetail> housingFundConfirmDetails = bizHousingFundConfirmDetailService.getListByBean(housingFundCondition);
|
|
BizSocialSecurityConfirmDetail socialSecurityConditions = new BizSocialSecurityConfirmDetail();
|
|
BizSocialSecurityConfirmDetail socialSecurityConditions = new BizSocialSecurityConfirmDetail();
|
|
- housingFundCondition.setYear(DateTime.of(bizDeduct.getCurrentDate()).toString("yyyy"));
|
|
|
|
- housingFundCondition.setMonth(DateTime.of(bizDeduct.getCurrentDate()).toString("MM"));
|
|
|
|
|
|
+// socialSecurityConditions.setYear(DateTime.of(bizDeduct.getCurrentDate()).toString("yyyy"));
|
|
|
|
+// socialSecurityConditions.setMonth(DateTime.of(bizDeduct.getCurrentDate()).toString("MM"));
|
|
|
|
+ socialSecurityConditions.setStartMonth(DateTime.of(conditions.getStartMonth()).toSqlDate());
|
|
|
|
+ socialSecurityConditions.setEndMonth(DateTime.of(conditions.getEndMonth()).toSqlDate());
|
|
List<BizSocialSecurityConfirmDetail> socialSecurityConfirmDetails = bizSocialSecurityConfirmDetailService.getListByBean(socialSecurityConditions);
|
|
List<BizSocialSecurityConfirmDetail> socialSecurityConfirmDetails = bizSocialSecurityConfirmDetailService.getListByBean(socialSecurityConditions);
|
|
BizCompany companyCondition = new BizCompany();
|
|
BizCompany companyCondition = new BizCompany();
|
|
companyCondition.setIds(loopEntrust.stream().map(BizEntrust::getCompanyId).collect(Collectors.toList()));
|
|
companyCondition.setIds(loopEntrust.stream().map(BizEntrust::getCompanyId).collect(Collectors.toList()));
|
|
@@ -225,32 +232,64 @@ public class BizDeductController extends BaseController
|
|
} else {
|
|
} else {
|
|
companies = new ArrayList<>();
|
|
companies = new ArrayList<>();
|
|
}
|
|
}
|
|
- companies.forEach(l ->{
|
|
|
|
- BizStatementAccountLoop item = new BizStatementAccountLoop();
|
|
|
|
- item.setEntrustOrderId(bizDeduct.getEntrustOrderId());
|
|
|
|
- item.setSocialCreditCode(l.getSocialCreditCode());
|
|
|
|
- item.setCompanyId(l.getId());
|
|
|
|
- item.setCompanyName(l.getName());
|
|
|
|
- item.setProvince(l.getProvince());
|
|
|
|
- item.setCity(l.getCity());
|
|
|
|
- item.setDistrict(l.getDistrict());
|
|
|
|
- BizFinancialKeepAccountDetail keepAccountDetail = keepAccountDetails.stream().filter(v -> v.getCompanyId().equals(l.getId())).findFirst().orElse(null);
|
|
|
|
- item.setCumulativeIncome(keepAccountDetail != null ? keepAccountDetail.getCurrentYearIncome() : null);
|
|
|
|
- item.setQuotaAmount(l.getQuotaAmount());
|
|
|
|
- item.setCollectionMethod(l.getCollectionMethod());
|
|
|
|
- item.setTaxType(l.getTaxType());
|
|
|
|
- item.setIsTax(loopEntrust.stream().anyMatch(v -> v.getCompanyId().equals(l.getId()) && v.getTaskTypeId().equals(1L)) ? 1 : 0);
|
|
|
|
- item.setIsHousingFund(loopEntrust.stream().anyMatch(v -> v.getCompanyId().equals(l.getId()) && v.getTaskTypeId().equals(3L)) ? 1 : 0);
|
|
|
|
- item.setIsSocialSecurity(loopEntrust.stream().anyMatch(v -> v.getCompanyId().equals(l.getId()) && v.getTaskTypeId().equals(2L)) ? 1 : 0);
|
|
|
|
- item.setActuallyAnnualIncome(getAnnualIncome(keepAccountDetail != null ? keepAccountDetail.getCurrentYearIncome() : null));
|
|
|
|
- BizSocialSecurityConfirmDetail socialSecurityConfirmDetail = socialSecurityConfirmDetails.stream().filter(v -> v.getCompanyId().equals(item.getCompanyId())).findFirst().orElse(null);
|
|
|
|
- item.setChangedSocialSecurity(socialSecurityConfirmDetail == null ? 0 : socialSecurityConfirmDetail.getIsChanged());
|
|
|
|
-
|
|
|
|
- BizHousingFundConfirmDetail housingFundConfirmDetail = housingFundConfirmDetails.stream().filter(v -> v.getCompanyId().equals(item.getCompanyId())).findFirst().orElse(null);
|
|
|
|
- item.setChangedHousingFund(housingFundConfirmDetail == null ? 0 : housingFundConfirmDetail.getIsChanged());
|
|
|
|
- item.setAnnualIncome(l.getAnnualIncome());
|
|
|
|
- loops.add(item);
|
|
|
|
|
|
+ List<String> months = loopEntrust.stream().map(v -> DateTime.of(v.getWorkMonth()).toString("yyyy-MM-dd")).distinct().sorted().collect(Collectors.toList());
|
|
|
|
+ List<BizCompany> finalCompanies = companies;
|
|
|
|
+ months.forEach(l -> {
|
|
|
|
+ List<BizEntrust> monthEntrust = loopEntrust.stream().filter(v -> DateTime.of(v.getWorkMonth()).toString("yyyy-MM-dd").equals(l)).collect(Collectors.toList());
|
|
|
|
+ finalCompanies.stream().filter(v -> monthEntrust.stream().anyMatch(e -> e.getCompanyId().equals(v.getId()))).forEach(v -> {
|
|
|
|
+ BizStatementAccountLoop item = new BizStatementAccountLoop();
|
|
|
|
+ item.setEntrustOrderId(bizDeduct.getEntrustOrderId());
|
|
|
|
+ item.setSocialCreditCode(v.getSocialCreditCode());
|
|
|
|
+ item.setCompanyId(v.getId());
|
|
|
|
+ item.setCompanyName(v.getName());
|
|
|
|
+ item.setProvince(v.getProvince());
|
|
|
|
+ item.setCity(v.getCity());
|
|
|
|
+ item.setDistrict(v.getDistrict());
|
|
|
|
+ item.setWorkMonth(DateTime.of(l, "yyyy-MM-dd").toSqlDate());
|
|
|
|
+ BizFinancialKeepAccountDetail keepAccountDetail = keepAccountDetails.stream().filter(e -> e.getCompanyId().equals(v.getId())).findFirst().orElse(null);
|
|
|
|
+ item.setCumulativeIncome(keepAccountDetail != null ? keepAccountDetail.getCurrentYearIncome() : null);
|
|
|
|
+ item.setQuotaAmount(v.getQuotaAmount());
|
|
|
|
+ item.setCollectionMethod(v.getCollectionMethod());
|
|
|
|
+ item.setTaxType(v.getTaxType());
|
|
|
|
+ item.setIsTax(monthEntrust.stream().anyMatch(e -> e.getCompanyId().equals(v.getId()) && e.getTaskTypeId().equals(1L)) ? 1 : 0);
|
|
|
|
+ item.setIsHousingFund(monthEntrust.stream().anyMatch(e -> e.getCompanyId().equals(v.getId()) && e.getTaskTypeId().equals(3L)) ? 1 : 0);
|
|
|
|
+ item.setIsSocialSecurity(monthEntrust.stream().anyMatch(e -> e.getCompanyId().equals(v.getId()) && e.getTaskTypeId().equals(2L)) ? 1 : 0);
|
|
|
|
+ item.setActuallyAnnualIncome(getAnnualIncome(keepAccountDetail != null ? keepAccountDetail.getCurrentYearIncome() : null));
|
|
|
|
+ BizSocialSecurityConfirmDetail socialSecurityConfirmDetail = socialSecurityConfirmDetails.stream().filter(e -> e.getCompanyId().equals(item.getCompanyId())).findFirst().orElse(null);
|
|
|
|
+ item.setChangedSocialSecurity(socialSecurityConfirmDetail == null ? 0 : socialSecurityConfirmDetail.getIsChanged());
|
|
|
|
+
|
|
|
|
+ BizHousingFundConfirmDetail housingFundConfirmDetail = housingFundConfirmDetails.stream().filter(e -> e.getCompanyId().equals(item.getCompanyId())).findFirst().orElse(null);
|
|
|
|
+ item.setChangedHousingFund(housingFundConfirmDetail == null ? 0 : housingFundConfirmDetail.getIsChanged());
|
|
|
|
+ item.setAnnualIncome(v.getAnnualIncome());
|
|
|
|
+ loops.add(item);
|
|
|
|
+ });
|
|
});
|
|
});
|
|
|
|
+// companies.forEach(l -> {
|
|
|
|
+// BizStatementAccountLoop item = new BizStatementAccountLoop();
|
|
|
|
+// item.setEntrustOrderId(bizDeduct.getEntrustOrderId());
|
|
|
|
+// item.setSocialCreditCode(l.getSocialCreditCode());
|
|
|
|
+// item.setCompanyId(l.getId());
|
|
|
|
+// item.setCompanyName(l.getName());
|
|
|
|
+// item.setProvince(l.getProvince());
|
|
|
|
+// item.setCity(l.getCity());
|
|
|
|
+// item.setDistrict(l.getDistrict());
|
|
|
|
+// BizFinancialKeepAccountDetail keepAccountDetail = keepAccountDetails.stream().filter(v -> v.getCompanyId().equals(l.getId())).findFirst().orElse(null);
|
|
|
|
+// item.setCumulativeIncome(keepAccountDetail != null ? keepAccountDetail.getCurrentYearIncome() : null);
|
|
|
|
+// item.setQuotaAmount(l.getQuotaAmount());
|
|
|
|
+// item.setCollectionMethod(l.getCollectionMethod());
|
|
|
|
+// item.setTaxType(l.getTaxType());
|
|
|
|
+// item.setIsTax(loopEntrust.stream().anyMatch(v -> v.getCompanyId().equals(l.getId()) && v.getTaskTypeId().equals(1L)) ? 1 : 0);
|
|
|
|
+// item.setIsHousingFund(loopEntrust.stream().anyMatch(v -> v.getCompanyId().equals(l.getId()) && v.getTaskTypeId().equals(3L)) ? 1 : 0);
|
|
|
|
+// item.setIsSocialSecurity(loopEntrust.stream().anyMatch(v -> v.getCompanyId().equals(l.getId()) && v.getTaskTypeId().equals(2L)) ? 1 : 0);
|
|
|
|
+// item.setActuallyAnnualIncome(getAnnualIncome(keepAccountDetail != null ? keepAccountDetail.getCurrentYearIncome() : null));
|
|
|
|
+// BizSocialSecurityConfirmDetail socialSecurityConfirmDetail = socialSecurityConfirmDetails.stream().filter(v -> v.getCompanyId().equals(item.getCompanyId())).findFirst().orElse(null);
|
|
|
|
+// item.setChangedSocialSecurity(socialSecurityConfirmDetail == null ? 0 : socialSecurityConfirmDetail.getIsChanged());
|
|
|
|
+//
|
|
|
|
+// BizHousingFundConfirmDetail housingFundConfirmDetail = housingFundConfirmDetails.stream().filter(v -> v.getCompanyId().equals(item.getCompanyId())).findFirst().orElse(null);
|
|
|
|
+// item.setChangedHousingFund(housingFundConfirmDetail == null ? 0 : housingFundConfirmDetail.getIsChanged());
|
|
|
|
+// item.setAnnualIncome(l.getAnnualIncome());
|
|
|
|
+// loops.add(item);
|
|
|
|
+// });
|
|
|
|
|
|
// 获取单次从表
|
|
// 获取单次从表
|
|
BizEntrust entrustOnceCondition = new BizEntrust();
|
|
BizEntrust entrustOnceCondition = new BizEntrust();
|
|
@@ -273,7 +312,7 @@ public class BizDeductController extends BaseController
|
|
recordCondition.setWorkOrderIds(workOrders.stream().map(BizWorkOrder::getId).collect(Collectors.toList()));
|
|
recordCondition.setWorkOrderIds(workOrders.stream().map(BizWorkOrder::getId).collect(Collectors.toList()));
|
|
List<BizWorkOrderRecord> records = workOrderRecordService.getList(recordCondition);
|
|
List<BizWorkOrderRecord> records = workOrderRecordService.getList(recordCondition);
|
|
onceEntrust.forEach(l -> {
|
|
onceEntrust.forEach(l -> {
|
|
- BizWorkOrderRecord record = records.stream().filter(v -> v.getWorkOrderId().equals(l.getWorkOrderId()) && v.getFromId().equals(0L) && v.getStatus().equals(3) && (DateTime.of(v.getCreateTime()).toString("yyyy-MM-01").equals(DateTime.of(conditions.getCurrentDate()).toString("yyyy-MM-01")))).findFirst().orElse(null);
|
|
|
|
|
|
+ BizWorkOrderRecord record = records.stream().filter(v -> v.getWorkOrderId().equals(l.getWorkOrderId()) && v.getFromId().equals(0L) && v.getStatus().equals(3) && v.getCreateTime().compareTo(conditions.getStartMonth()) >= 0 && v.getCreateTime().compareTo(DateUtil.endOfMonth(conditions.getEndMonth())) <= 0).findFirst().orElse(null);
|
|
if (record != null) {
|
|
if (record != null) {
|
|
BizStatementAccountOnce item = new BizStatementAccountOnce();
|
|
BizStatementAccountOnce item = new BizStatementAccountOnce();
|
|
item.setEntrustOrderId(bizDeduct.getEntrustOrderId());
|
|
item.setEntrustOrderId(bizDeduct.getEntrustOrderId());
|
|
@@ -299,7 +338,7 @@ public class BizDeductController extends BaseController
|
|
});
|
|
});
|
|
|
|
|
|
// 获取汇总
|
|
// 获取汇总
|
|
- List<BizStatementAccount> accounts ;
|
|
|
|
|
|
+ List<BizStatementAccount> accounts;
|
|
accounts = getStatementAccount(onceList, loops, bizDeduct);
|
|
accounts = getStatementAccount(onceList, loops, bizDeduct);
|
|
bizDeduct.setCollect(accounts);
|
|
bizDeduct.setCollect(accounts);
|
|
bizDeduct.setLoopList(loops);
|
|
bizDeduct.setLoopList(loops);
|
|
@@ -316,7 +355,7 @@ public class BizDeductController extends BaseController
|
|
private List<BizStatementAccount> getStatementAccount(List<BizStatementAccountOnce> onceList, List<BizStatementAccountLoop> loops, BizDeduct bizDeduct) {
|
|
private List<BizStatementAccount> getStatementAccount(List<BizStatementAccountOnce> onceList, List<BizStatementAccountLoop> loops, BizDeduct bizDeduct) {
|
|
List<BizStatementAccount> accounts = new ArrayList<>();
|
|
List<BizStatementAccount> accounts = new ArrayList<>();
|
|
BizEntrustPrice priceCondition = new BizEntrustPrice();
|
|
BizEntrustPrice priceCondition = new BizEntrustPrice();
|
|
- priceCondition.setFromTenantId(bizDeduct.getFromTenantId());
|
|
|
|
|
|
+// priceCondition.setFromTenantId(bizDeduct.getFromTenantId());
|
|
priceCondition.setToTenantId(bizDeduct.getTenantId());
|
|
priceCondition.setToTenantId(bizDeduct.getTenantId());
|
|
List<BizEntrustPrice> prices = entrustPriceService.getList(priceCondition);
|
|
List<BizEntrustPrice> prices = entrustPriceService.getList(priceCondition);
|
|
List<BizEntrustPrice> oncePrices = entrustPriceService.query().gt("task_type_id", 4).list();
|
|
List<BizEntrustPrice> oncePrices = entrustPriceService.query().gt("task_type_id", 4).list();
|
|
@@ -489,18 +528,19 @@ public class BizDeductController extends BaseController
|
|
private String getAnnualIncome(BigDecimal currentYearIncome) {
|
|
private String getAnnualIncome(BigDecimal currentYearIncome) {
|
|
if (currentYearIncome == null || currentYearIncome.compareTo(BigDecimal.ZERO) == 0) {
|
|
if (currentYearIncome == null || currentYearIncome.compareTo(BigDecimal.ZERO) == 0) {
|
|
return "0";
|
|
return "0";
|
|
- } else if (currentYearIncome.compareTo(BigDecimal.ZERO) > 0 && currentYearIncome.compareTo(BigDecimal.valueOf(2000000)) <= 0 ) {
|
|
|
|
|
|
+ } else if (currentYearIncome.compareTo(BigDecimal.ZERO) > 0 && currentYearIncome.compareTo(BigDecimal.valueOf(2000000)) <= 0) {
|
|
return "0~200万元";
|
|
return "0~200万元";
|
|
} else if (currentYearIncome.compareTo(BigDecimal.valueOf(2000000)) > 0 && currentYearIncome.compareTo(BigDecimal.valueOf(5000000)) <= 0) {
|
|
} else if (currentYearIncome.compareTo(BigDecimal.valueOf(2000000)) > 0 && currentYearIncome.compareTo(BigDecimal.valueOf(5000000)) <= 0) {
|
|
return "200~500万元";
|
|
return "200~500万元";
|
|
} else if (currentYearIncome.compareTo(BigDecimal.valueOf(5000000)) > 0 && currentYearIncome.compareTo(BigDecimal.valueOf(10000000)) <= 0) {
|
|
} else if (currentYearIncome.compareTo(BigDecimal.valueOf(5000000)) > 0 && currentYearIncome.compareTo(BigDecimal.valueOf(10000000)) <= 0) {
|
|
return "500~1000万元";
|
|
return "500~1000万元";
|
|
- } else if (currentYearIncome.compareTo(BigDecimal.valueOf(10000000)) > 0 ) {
|
|
|
|
|
|
+ } else if (currentYearIncome.compareTo(BigDecimal.valueOf(10000000)) > 0) {
|
|
return "1000万元以上";
|
|
return "1000万元以上";
|
|
} else {
|
|
} else {
|
|
return "";
|
|
return "";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 新增扣款记录
|
|
* 新增扣款记录
|
|
*/
|
|
*/
|
|
@@ -508,8 +548,7 @@ public class BizDeductController extends BaseController
|
|
@Log(title = "扣款记录", businessType = BusinessType.INSERT)
|
|
@Log(title = "扣款记录", businessType = BusinessType.INSERT)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@PostMapping
|
|
@PostMapping
|
|
- public AjaxResult add(@RequestBody BizDeduct bizDeduct) throws NoSuchFieldException, IllegalAccessException
|
|
|
|
- {
|
|
|
|
|
|
+ public AjaxResult add(@RequestBody BizDeduct bizDeduct) throws NoSuchFieldException, IllegalAccessException {
|
|
boolean status = bizDeductService.save(bizDeduct);
|
|
boolean status = bizDeductService.save(bizDeduct);
|
|
bizDeduct.getCollect().forEach(l -> {
|
|
bizDeduct.getCollect().forEach(l -> {
|
|
l.setDeductId(bizDeduct.getId());
|
|
l.setDeductId(bizDeduct.getId());
|
|
@@ -539,8 +578,7 @@ public class BizDeductController extends BaseController
|
|
@Log(title = "扣款记录", businessType = BusinessType.UPDATE)
|
|
@Log(title = "扣款记录", businessType = BusinessType.UPDATE)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@PutMapping
|
|
@PutMapping
|
|
- public AjaxResult edit(@RequestBody BizDeduct bizDeduct) throws NoSuchFieldException, IllegalAccessException
|
|
|
|
- {
|
|
|
|
|
|
+ public AjaxResult edit(@RequestBody BizDeduct bizDeduct) throws NoSuchFieldException, IllegalAccessException {
|
|
boolean status = bizDeductService.updateById(bizDeduct);
|
|
boolean status = bizDeductService.updateById(bizDeduct);
|
|
bizDeduct.getCollect().forEach(l -> {
|
|
bizDeduct.getCollect().forEach(l -> {
|
|
l.setDeductId(bizDeduct.getId());
|
|
l.setDeductId(bizDeduct.getId());
|
|
@@ -577,9 +615,8 @@ public class BizDeductController extends BaseController
|
|
*/
|
|
*/
|
|
@PreAuthorize("@ss.hasPermi('business:deduct:remove')")
|
|
@PreAuthorize("@ss.hasPermi('business:deduct:remove')")
|
|
@Log(title = "扣款记录", businessType = BusinessType.DELETE)
|
|
@Log(title = "扣款记录", businessType = BusinessType.DELETE)
|
|
- @DeleteMapping("/{ids}")
|
|
|
|
- public AjaxResult remove(@PathVariable List<Long> ids)
|
|
|
|
- {
|
|
|
|
|
|
+ @DeleteMapping("/{ids}")
|
|
|
|
+ public AjaxResult remove(@PathVariable List<Long> ids) {
|
|
QueryWrapper<BizStatementAccount> removeQuery = new QueryWrapper<>();
|
|
QueryWrapper<BizStatementAccount> removeQuery = new QueryWrapper<>();
|
|
removeQuery.in("deduct_id", ids);
|
|
removeQuery.in("deduct_id", ids);
|
|
QueryWrapper<BizStatementAccountLoop> removeLoopQuery = new QueryWrapper<>();
|
|
QueryWrapper<BizStatementAccountLoop> removeLoopQuery = new QueryWrapper<>();
|
|
@@ -599,8 +636,7 @@ public class BizDeductController extends BaseController
|
|
*/
|
|
*/
|
|
@PreAuthorize("@ss.hasPermi('business:deduct:query')")
|
|
@PreAuthorize("@ss.hasPermi('business:deduct:query')")
|
|
@GetMapping(value = "/checkStatementAccount/{entrustOrderId}")
|
|
@GetMapping(value = "/checkStatementAccount/{entrustOrderId}")
|
|
- public AjaxResult checkStatementAccount(@PathVariable Long entrustOrderId)
|
|
|
|
- {
|
|
|
|
|
|
+ public AjaxResult checkStatementAccount(@PathVariable Long entrustOrderId) {
|
|
// 判断最后一个对账单是哪个月的
|
|
// 判断最后一个对账单是哪个月的
|
|
BizDeduct deduct = bizDeductService.query().eq("entrust_order_id", entrustOrderId).orderByDesc("year", "month").last("limit 1").one();
|
|
BizDeduct deduct = bizDeductService.query().eq("entrust_order_id", entrustOrderId).orderByDesc("year", "month").last("limit 1").one();
|
|
DateTime prev = DateTime.now().offsetNew(DateField.MONTH, -1);
|
|
DateTime prev = DateTime.now().offsetNew(DateField.MONTH, -1);
|
|
@@ -616,7 +652,7 @@ public class BizDeductController extends BaseController
|
|
return error("本月已对账,无法对下月进行对账。");
|
|
return error("本月已对账,无法对下月进行对账。");
|
|
} else {
|
|
} else {
|
|
// 其他 对最后一个对账单的下个月进行对账
|
|
// 其他 对最后一个对账单的下个月进行对账
|
|
- DateTime then = DateTime.of(deduct.getYear() + "-" + deduct.getMonth() + "-01","yyyy-MM-dd").offsetNew(DateField.MONTH, 1);
|
|
|
|
|
|
+ DateTime then = DateTime.of(deduct.getYear() + "-" + deduct.getMonth() + "-01", "yyyy-MM-dd").offsetNew(DateField.MONTH, 1);
|
|
return success(then.toString("yyyy-MM-01"));
|
|
return success(then.toString("yyyy-MM-01"));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -628,8 +664,7 @@ public class BizDeductController extends BaseController
|
|
@Log(title = "扣款记录", businessType = BusinessType.INSERT)
|
|
@Log(title = "扣款记录", businessType = BusinessType.INSERT)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@PostMapping("/confirm")
|
|
@PostMapping("/confirm")
|
|
- public AjaxResult confirmDeduct(@RequestBody BizDeduct bizDeduct) throws NoSuchFieldException, IllegalAccessException
|
|
|
|
- {
|
|
|
|
|
|
+ public AjaxResult confirmDeduct(@RequestBody BizDeduct bizDeduct) throws NoSuchFieldException, IllegalAccessException {
|
|
bizDeduct.setStatus(1);
|
|
bizDeduct.setStatus(1);
|
|
boolean status = bizDeductService.updateById(bizDeduct);
|
|
boolean status = bizDeductService.updateById(bizDeduct);
|
|
// 扣款
|
|
// 扣款
|
|
@@ -637,7 +672,7 @@ public class BizDeductController extends BaseController
|
|
BigDecimal amount = bizDeduct.getAmount();
|
|
BigDecimal amount = bizDeduct.getAmount();
|
|
int index = 0;
|
|
int index = 0;
|
|
while (amount.compareTo(BigDecimal.ZERO) > 0) {
|
|
while (amount.compareTo(BigDecimal.ZERO) > 0) {
|
|
- if (deposits.get(index).getRemainAmount().compareTo(amount) > 0){
|
|
|
|
|
|
+ if (deposits.get(index).getRemainAmount().compareTo(amount) > 0) {
|
|
BigDecimal remain = deposits.get(index).getRemainAmount().subtract(amount).setScale(2, RoundingMode.HALF_UP);
|
|
BigDecimal remain = deposits.get(index).getRemainAmount().subtract(amount).setScale(2, RoundingMode.HALF_UP);
|
|
amount = BigDecimal.ZERO;
|
|
amount = BigDecimal.ZERO;
|
|
deposits.get(index).setRemainAmount(remain);
|
|
deposits.get(index).setRemainAmount(remain);
|
|
@@ -651,12 +686,11 @@ public class BizDeductController extends BaseController
|
|
return toAjax(status);
|
|
return toAjax(status);
|
|
}
|
|
}
|
|
|
|
|
|
- @PreAuthorize("@ss.hasPermi('business:deduct:reject')")
|
|
|
|
|
|
+ @PreAuthorize("@ss.hasAnyPermi('business:deduct:reject,business:deduct:confirm')")
|
|
@Log(title = "扣款记录", businessType = BusinessType.INSERT)
|
|
@Log(title = "扣款记录", businessType = BusinessType.INSERT)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@PostMapping("/reject")
|
|
@PostMapping("/reject")
|
|
- public AjaxResult rejectDeduct(@RequestBody BizDeduct bizDeduct) throws NoSuchFieldException, IllegalAccessException
|
|
|
|
- {
|
|
|
|
|
|
+ public AjaxResult rejectDeduct(@RequestBody BizDeduct bizDeduct) throws NoSuchFieldException, IllegalAccessException {
|
|
bizDeduct.setStatus(4);
|
|
bizDeduct.setStatus(4);
|
|
boolean status = bizDeductService.updateById(bizDeduct);
|
|
boolean status = bizDeductService.updateById(bizDeduct);
|
|
return toAjax(status);
|
|
return toAjax(status);
|
|
@@ -666,8 +700,7 @@ public class BizDeductController extends BaseController
|
|
@Log(title = "扣款记录", businessType = BusinessType.INSERT)
|
|
@Log(title = "扣款记录", businessType = BusinessType.INSERT)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@PostMapping("/verify")
|
|
@PostMapping("/verify")
|
|
- public AjaxResult verifyDeduct(@RequestBody BizDeduct bizDeduct) throws NoSuchFieldException, IllegalAccessException
|
|
|
|
- {
|
|
|
|
|
|
+ public AjaxResult verifyDeduct(@RequestBody BizDeduct bizDeduct) throws NoSuchFieldException, IllegalAccessException {
|
|
bizDeduct.setStatus(2);
|
|
bizDeduct.setStatus(2);
|
|
// 到存款记录中扣款
|
|
// 到存款记录中扣款
|
|
boolean status = bizDeductService.updateById(bizDeduct);
|
|
boolean status = bizDeductService.updateById(bizDeduct);
|