|
@@ -1,5 +1,8 @@
|
|
|
package cn.ezhizao.project.business.workOrder.controller;
|
|
|
|
|
|
+import cn.ezhizao.common.utils.poi.ExcelUtil;
|
|
|
+import cn.ezhizao.framework.aspectj.lang.annotation.Log;
|
|
|
+import cn.ezhizao.framework.aspectj.lang.enums.BusinessType;
|
|
|
import cn.ezhizao.framework.web.controller.BaseController;
|
|
|
import cn.ezhizao.framework.web.domain.AjaxResult;
|
|
|
import cn.ezhizao.framework.web.page.TableDataInfo;
|
|
@@ -31,8 +34,7 @@ import cn.ezhizao.project.business.salary.service.IBizFinancialSalaryDetailServi
|
|
|
import cn.ezhizao.project.business.salary.service.IBizFinancialSalaryService;
|
|
|
import cn.ezhizao.project.business.socialSecurity.domain.*;
|
|
|
import cn.ezhizao.project.business.socialSecurity.service.*;
|
|
|
-import cn.ezhizao.project.business.workOrder.domain.BizWorkOrder;
|
|
|
-import cn.ezhizao.project.business.workOrder.domain.BizWorkOrderRecord;
|
|
|
+import cn.ezhizao.project.business.workOrder.domain.*;
|
|
|
import cn.ezhizao.project.business.workOrder.service.IBizWorkOrderRecordService;
|
|
|
import cn.ezhizao.project.business.workOrder.service.IBizWorkOrderService;
|
|
|
import cn.ezhizao.project.system.domain.SysFileStorage;
|
|
@@ -42,6 +44,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
@@ -105,8 +108,7 @@ public class WorkOrderServiceController extends BaseController {
|
|
|
@PreAuthorize("@ss.hasPermi('business:customer:service:loop:list')")
|
|
|
@GetMapping("/list")
|
|
|
|
|
|
- public TableDataInfo list(BizWorkOrder bizWorkOrder) throws NoSuchFieldException, IllegalAccessException
|
|
|
- {
|
|
|
+ public TableDataInfo list(BizWorkOrder bizWorkOrder) throws NoSuchFieldException, IllegalAccessException {
|
|
|
setTenantId(bizWorkOrder);
|
|
|
bizWorkOrder.setType(1);
|
|
|
startPage();
|
|
@@ -121,17 +123,94 @@ public class WorkOrderServiceController extends BaseController {
|
|
|
entrustConditions.setWorkOrderIds(list.stream().map(BizWorkOrder::getId).collect(Collectors.toList()));
|
|
|
entrustConditions.setCurrentYear(bizWorkOrder.getYear());
|
|
|
List<BizEntrust> entrusts = entrustService.getList(entrustConditions);
|
|
|
- list.forEach(v -> {
|
|
|
+ list.forEach(v -> {
|
|
|
v.setRecords(records.stream().filter(e -> e.getWorkOrderId().equals(v.getId())).collect(Collectors.toList()));
|
|
|
v.setEntrusts(entrusts.stream().filter(e -> e.getWorkOrderId().equals(v.getId())).collect(Collectors.toList()));
|
|
|
});
|
|
|
return getDataTable(list);
|
|
|
}
|
|
|
|
|
|
+ //导出循环工单
|
|
|
+ @Log(title = "循环工单", businessType = BusinessType.EXPORT)
|
|
|
+ @PreAuthorize("@ss.hasPermi('business:customer:service:loop:exportLoop')")
|
|
|
+ @PostMapping("/exportLoop")
|
|
|
+ public void exportLoop(HttpServletResponse response, BizWorkOrder bizWorkOrder) throws NoSuchFieldException, IllegalAccessException {
|
|
|
+ setTenantId(bizWorkOrder);
|
|
|
+ bizWorkOrder.setType(1);
|
|
|
+ startPage();
|
|
|
+ startOrderBy();
|
|
|
+ List<BizWorkOrder> list = bizWorkOrderService.getList(bizWorkOrder);
|
|
|
+ List<BizWorkOrderLoop> listLoop = new ArrayList<>();
|
|
|
+ BizWorkOrderRecord bizWorkOrderRecord = new BizWorkOrderRecord();
|
|
|
+ bizWorkOrderRecord.setWorkOrderIds(list.stream().map(BizWorkOrder::getId).collect(Collectors.toList()));
|
|
|
+ bizWorkOrderRecord.setYear(bizWorkOrder.getYear());
|
|
|
+ List<BizWorkOrderRecord> records = bizWorkOrderRecordService.getList(bizWorkOrderRecord);
|
|
|
+ BizEntrust entrustConditions = new BizEntrust();
|
|
|
+ entrustConditions.setWorkOrderIds(list.stream().map(BizWorkOrder::getId).collect(Collectors.toList()));
|
|
|
+ entrustConditions.setCurrentYear(bizWorkOrder.getYear());
|
|
|
+ List<BizEntrust> entrusts = entrustService.getList(entrustConditions);
|
|
|
+ list.forEach(v -> {
|
|
|
+ v.setRecord(records.stream().filter(e -> e.getWorkOrderId().equals(v.getId())
|
|
|
+ && e.getMonth().equals(bizWorkOrder.getMonth())
|
|
|
+ && e.getFromId().equals(0L) &&
|
|
|
+ e.getYear().equals(bizWorkOrder.getYear())).findFirst().orElse(null));
|
|
|
+ v.setEntrust(entrusts.stream().filter(e -> e.getWorkOrderId().equals(v.getId())).findFirst().orElse(null));
|
|
|
+ BizWorkOrderLoop loop = new BizWorkOrderLoop();
|
|
|
+ loop.setCompanyName(v.getCompanyName());
|
|
|
+ loop.setTaxType(v.getTaxType());
|
|
|
+ loop.setSocialCreditCode(v.getSocialCreditCode());
|
|
|
+ loop.setTaskTypeName(v.getTaskTypeName());
|
|
|
+ loop.setPeriod(bizWorkOrder.getYear() + "年" + bizWorkOrder.getMonth() + "月");
|
|
|
+ loop.setStatus(v.getRecord() == null ? 0 : v.getRecord().getStatus());
|
|
|
+ loop.setServiceName(v.getEntrust() == null ? v.getServiceName() : v.getEntrust().getToAccountName());
|
|
|
+ ;
|
|
|
+ listLoop.add(loop);
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+ ExcelUtil<BizWorkOrderLoop> util = new ExcelUtil<BizWorkOrderLoop>(BizWorkOrderLoop.class);
|
|
|
+ util.exportExcel(response, listLoop, "循环服务数据");
|
|
|
+ }
|
|
|
+
|
|
|
+ //导出单次工单
|
|
|
+ @Log(title = "单次工单", businessType = BusinessType.EXPORT)
|
|
|
+ @PreAuthorize("@ss.hasPermi('business:customer:service:once:exportOnce')")
|
|
|
+ @PostMapping("/exportOnce")
|
|
|
+ public void exportOnce(HttpServletResponse response, BizWorkOrder bizWorkOrder) throws NoSuchFieldException, IllegalAccessException {
|
|
|
+ setTenantId(bizWorkOrder);
|
|
|
+ bizWorkOrder.setType(2);
|
|
|
+ startPage();
|
|
|
+ startOrderBy();
|
|
|
+ List<BizWorkOrder> list = bizWorkOrderService.getList(bizWorkOrder);
|
|
|
+ List<BizWorkOrderOnce> listOnce = new ArrayList<>();
|
|
|
+ BizWorkOrderRecord bizWorkOrderRecord = new BizWorkOrderRecord();
|
|
|
+ bizWorkOrderRecord.setWorkOrderIds(list.stream().map(BizWorkOrder::getId).collect(Collectors.toList()));
|
|
|
+ List<BizWorkOrderRecord> records = bizWorkOrderRecordService.getList(bizWorkOrderRecord);
|
|
|
+ BizEntrust entrustConditions = new BizEntrust();
|
|
|
+ entrustConditions.setWorkOrderIds(list.stream().map(BizWorkOrder::getId).collect(Collectors.toList()));
|
|
|
+ entrustConditions.setCurrentYear(bizWorkOrder.getYear());
|
|
|
+ List<BizEntrust> entrusts = entrustService.getList(entrustConditions);
|
|
|
+ list.forEach(v -> {
|
|
|
+ v.setRecord(records.stream().filter(e -> e.getWorkOrderId().equals(v.getId()) && e.getFromId().equals(0L)).findFirst().orElse(null));
|
|
|
+ v.setEntrust(entrusts.stream().filter(e -> e.getWorkOrderId().equals(v.getId())).findFirst().orElse(null));
|
|
|
+ BizWorkOrderOnce once = new BizWorkOrderOnce();
|
|
|
+ once.setCompanyName(v.getCompanyName());
|
|
|
+ once.setSocialCreditCode(v.getSocialCreditCode());
|
|
|
+ once.setStatus(v.getRecord() == null ? 0 : v.getRecord().getStatus());
|
|
|
+ once.setRemark(v.getNoContract() == 1 ? v.getRemark() : v.getTaskTypeName() + (v.getTaskTypeDetailName() != null ? "-" + v.getTaskTypeDetailName() : ""));
|
|
|
+ once.setServiceName(v.getEntrust() == null ? v.getServiceName() : v.getEntrust().getToAccountName());
|
|
|
+ once.setIsStop(v.getIsStop());
|
|
|
+ listOnce.add(once);
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+ ExcelUtil<BizWorkOrderOnce> util = new ExcelUtil<BizWorkOrderOnce>(BizWorkOrderOnce.class);
|
|
|
+ util.exportExcel(response, listOnce, "单次服务数据");
|
|
|
+ }
|
|
|
+
|
|
|
@PreAuthorize("@ss.hasPermi('business:customer:service:once:list')")
|
|
|
@GetMapping("/onceList")
|
|
|
- public TableDataInfo onceList(BizWorkOrder bizWorkOrder) throws NoSuchFieldException, IllegalAccessException
|
|
|
- {
|
|
|
+ public TableDataInfo onceList(BizWorkOrder bizWorkOrder) throws NoSuchFieldException, IllegalAccessException {
|
|
|
setTenantId(bizWorkOrder);
|
|
|
bizWorkOrder.setType(2);
|
|
|
startPage();
|
|
@@ -340,6 +419,7 @@ public class WorkOrderServiceController extends BaseController {
|
|
|
}
|
|
|
return success(record);
|
|
|
}
|
|
|
+
|
|
|
@PreAuthorize("@ss.hasAnyPermi('business:customer:service:once:query,business:customer:service:once:edit,business:customer:service:once:view,business:customer:service:once:verify')")
|
|
|
@PostMapping("/getOnceDetail")
|
|
|
public AjaxResult getOnceDetail(@RequestBody BizWorkOrderRecord bizWorkOrderRecord) {
|
|
@@ -392,7 +472,7 @@ public class WorkOrderServiceController extends BaseController {
|
|
|
bizFinancialReportTaxDetailService.saveOrUpdate(reportTaxDetail);
|
|
|
bizFinancialIndividualIncomeTaxDetailService.saveOrUpdate(individualIncomeTaxDetail);
|
|
|
}
|
|
|
- if(workOrder.getTaskTypeId().equals(2L)) {
|
|
|
+ if (workOrder.getTaskTypeId().equals(2L)) {
|
|
|
// 保存所有社保项
|
|
|
BizSocialSecurityConfirmDetail confirmDetail = bizWorkOrderRecord.getSocialSecurityConfirm();
|
|
|
confirmDetail.setCompanyId(workOrder.getCompanyId());
|
|
@@ -422,7 +502,7 @@ public class WorkOrderServiceController extends BaseController {
|
|
|
fileStorageService.physicalDelete(delCondition);
|
|
|
fileStorageService.saveOrUpdateBatch(fileStorages);
|
|
|
}
|
|
|
- if(workOrder.getTaskTypeId().equals(3L)) {
|
|
|
+ if (workOrder.getTaskTypeId().equals(3L)) {
|
|
|
// 保存所有公积金项
|
|
|
BizHousingFundConfirmDetail confirmDetail = bizWorkOrderRecord.getHousingFundConfirm();
|
|
|
BizHousingFundDeclareDetail declareDetail = bizWorkOrderRecord.getHousingFundDeclare();
|
|
@@ -454,6 +534,7 @@ public class WorkOrderServiceController extends BaseController {
|
|
|
}
|
|
|
return toAjax(status);
|
|
|
}
|
|
|
+
|
|
|
@PreAuthorize("@ss.hasAnyPermi('business:customer:service:once:edit')")
|
|
|
@PostMapping("/saveOnceDetail")
|
|
|
@Transactional(rollbackFor = Exception.class)
|