|
@@ -14,6 +14,8 @@ import cn.ezhizao.project.business.entrust.domain.BizEntrust;
|
|
|
import cn.ezhizao.project.business.entrust.service.IBizEntrustService;
|
|
|
import cn.ezhizao.project.business.workOrder.domain.BizWorkOrder;
|
|
|
import cn.ezhizao.project.business.workOrder.domain.BizWorkOrderExport;
|
|
|
+import cn.ezhizao.project.business.workOrder.domain.vo.Condition;
|
|
|
+import cn.ezhizao.project.business.workOrder.domain.vo.EntrustRes;
|
|
|
import cn.ezhizao.project.business.workOrder.domain.vo.EntrustVo;
|
|
|
import cn.ezhizao.project.business.workOrder.service.IBizWorkOrderService;
|
|
|
import cn.ezhizao.project.system.domain.SysCurrentMonth;
|
|
@@ -32,6 +34,8 @@ import org.springframework.web.multipart.MultipartFile;
|
|
|
import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.sql.Date;
|
|
|
+import java.time.LocalDate;
|
|
|
+import java.time.Month;
|
|
|
import java.util.*;
|
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -56,18 +60,24 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
@Resource
|
|
|
IBizCompanyService bizCompanyService;
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
* 查询工单信息列表
|
|
|
*/
|
|
|
@PreAuthorize("@ss.hasPermi('business:entrust:workOrder:current:list')")
|
|
|
@GetMapping("/list")
|
|
|
public TableDataInfo list(BizWorkOrder bizWorkOrder) throws NoSuchFieldException, IllegalAccessException {
|
|
|
+
|
|
|
+ List<SysCurrentMonth> months = sysCurrentMonthService.list(new LambdaQueryWrapper<SysCurrentMonth>()
|
|
|
+ .eq(SysCurrentMonth::getTenantId, getTenantId())
|
|
|
+ .eq(SysCurrentMonth::getType, 0));
|
|
|
+ Date date = DateTime.of(months.get(0).getYear() + "-" + months.get(0).getMonth() + "-01", "yyyy-MM-dd").toSqlDate();
|
|
|
+ bizWorkOrder.setWorkDate(date);
|
|
|
setTenantId(bizWorkOrder);
|
|
|
startPage();
|
|
|
startOrderBy();
|
|
|
- bizWorkOrder.setIsStop(0);
|
|
|
+// bizWorkOrder.setIsStop(0);
|
|
|
List<BizWorkOrder> list = bizWorkOrderService.getList(bizWorkOrder);
|
|
|
- List<SysCurrentMonth> months = sysCurrentMonthService.query().eq("tenant_id", getTenantId()).eq("type", 0).list();
|
|
|
if (months.isEmpty()) {
|
|
|
return getDataTable(new ArrayList<>());
|
|
|
} else {
|
|
@@ -83,6 +93,25 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @GetMapping("/history/list")
|
|
|
+ public TableDataInfo historyList(Condition condition) throws NoSuchFieldException, IllegalAccessException {
|
|
|
+ Long tenantId = getTenantId();
|
|
|
+ Tenant tenant = tenantService.getById(tenantId);
|
|
|
+ //获取当前月 查询当前月之前所有数据
|
|
|
+ if (tenant.getVersionId() == 1 || tenant.getVersionId() == 2) {
|
|
|
+ condition.setFromTenantId(tenantId);
|
|
|
+ } else if (tenant.getVersionId() == 4) {
|
|
|
+ condition.setToTenantId(tenantId);
|
|
|
+ }
|
|
|
+ startPage();
|
|
|
+
|
|
|
+ List<EntrustRes> list = bizWorkOrderService.getHistoryList(condition);
|
|
|
+
|
|
|
+
|
|
|
+ return getDataTable(list);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 查询工单信息列表
|
|
|
*/
|
|
@@ -91,22 +120,23 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
public TableDataInfo listForFactory(BizWorkOrder bizWorkOrder) throws NoSuchFieldException, IllegalAccessException {
|
|
|
bizWorkOrder.setToTenantId(getTenantId());
|
|
|
startPage();
|
|
|
+ bizWorkOrder.setWorkDate(bizWorkOrder.getCurrentMonth());
|
|
|
// bizWorkOrder.setIsStop(0);
|
|
|
List<BizWorkOrder> list = bizWorkOrderService.getList(bizWorkOrder);
|
|
|
- List<SysCurrentMonth> months = sysCurrentMonthService.query().eq("tenant_id", getTenantId()).eq("type", 0).list();
|
|
|
- if (months.isEmpty()) {
|
|
|
- return getDataTable(new ArrayList<>());
|
|
|
- } else {
|
|
|
- BizEntrust bizEntrust = new BizEntrust();
|
|
|
- bizEntrust.setWorkOrderIds(list.stream().map(BizWorkOrder::getId).collect(Collectors.toList()));
|
|
|
- bizEntrust.setWorkMonth(DateTime.of(months.get(0).getYear() + "-" + months.get(0).getMonth() + "-01", "yyyy-MM-dd").toSqlDate());
|
|
|
- List<BizEntrust> entrusts = bizEntrustService.getList(bizEntrust);
|
|
|
+// List<SysCurrentMonth> months = sysCurrentMonthService.query().eq("tenant_id", getTenantId()).eq("type", 0).list();
|
|
|
+// if (months.isEmpty()) {
|
|
|
+// return getDataTable(new ArrayList<>());
|
|
|
+// } else {
|
|
|
+ BizEntrust bizEntrust = new BizEntrust();
|
|
|
+ bizEntrust.setWorkOrderIds(list.stream().map(BizWorkOrder::getId).collect(Collectors.toList()));
|
|
|
+ bizEntrust.setWorkMonth(DateTime.of(bizWorkOrder.getCurrentMonth()).toSqlDate());
|
|
|
+ List<BizEntrust> entrusts = bizEntrustService.getList(bizEntrust);
|
|
|
// bizEntrustService.query().in("work_order_id", list.stream().map(BizWorkOrder::getId).collect(Collectors.toList())).eq("work_month", months.get(0).getYear() + "-" + months.get(0).getMonth() + "-01").list();
|
|
|
- list.forEach(l -> {
|
|
|
- l.setEntrust(entrusts.stream().filter(v -> v.getWorkOrderId().equals(l.getId())).findFirst().orElse(null));
|
|
|
- });
|
|
|
- return getDataTable(list);
|
|
|
- }
|
|
|
+ list.forEach(l -> {
|
|
|
+ l.setEntrust(entrusts.stream().filter(v -> v.getWorkOrderId().equals(l.getId())).findFirst().orElse(null));
|
|
|
+ });
|
|
|
+ return getDataTable(list);
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
@PreAuthorize("@ss.hasPermi('business:entrust:workOrder:current:list')")
|
|
@@ -169,7 +199,7 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
AtomicInteger failureNum = new AtomicInteger();
|
|
|
StringBuilder successMsg = new StringBuilder();
|
|
|
StringBuilder failureMsg = new StringBuilder();
|
|
|
- try{
|
|
|
+ try {
|
|
|
|
|
|
Long tenantId = getTenantId();
|
|
|
//获取当前月
|
|
@@ -217,7 +247,7 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
.eq(BizCompany::getName, f.getCompanyName().trim()));
|
|
|
if (company == null) {
|
|
|
failureNum.getAndIncrement();
|
|
|
- failureMsg.append("<br/>" +"序号为"+f.getNo() +"," + "客户 " +f.getCompanyName() + "不存在");
|
|
|
+ failureMsg.append("<br/>" + "序号为" + f.getNo() + "," + "客户 " + f.getCompanyName() + "不存在");
|
|
|
} else {
|
|
|
f.setCompanyId(company.getId());
|
|
|
}
|
|
@@ -236,18 +266,18 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
.eq(BizWorkOrder::getType, 1)
|
|
|
.eq(BizWorkOrder::getTaskTypeId, e.getTaskId())
|
|
|
.eq(BizWorkOrder::getCompanyId, e.getCompanyId()));
|
|
|
- if (bizWorkOrders== null ||bizWorkOrders.size() == 0) {
|
|
|
+ if (bizWorkOrders == null || bizWorkOrders.size() == 0) {
|
|
|
failureNum.getAndIncrement();
|
|
|
String s = "";
|
|
|
- if(e.getTaskId() == 1){
|
|
|
+ if (e.getTaskId() == 1) {
|
|
|
s = "代理记账服务";
|
|
|
- } else if (e.getTaskId()==2){
|
|
|
+ } else if (e.getTaskId() == 2) {
|
|
|
s = "社保代缴服务";
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
s = "公积金代缴服务";
|
|
|
}
|
|
|
- failureMsg.append("<br/>" +"序号为"+e.getNo() +"," + "客户 " + e.getCompanyName() + " 没有"+s);
|
|
|
- }else {
|
|
|
+ failureMsg.append("<br/>" + "序号为" + e.getNo() + "," + "客户 " + e.getCompanyName() + " 没有" + s);
|
|
|
+ } else {
|
|
|
e.setWorkOrderIds(bizWorkOrders.stream().map(m -> m.getId()).collect(Collectors.toList()));
|
|
|
}
|
|
|
}
|
|
@@ -265,7 +295,123 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
bizEntrust.setWorkOrderIds(workOrderIds);
|
|
|
this.addEntrust(bizEntrust);
|
|
|
}
|
|
|
- }catch (Exception e){
|
|
|
+ } catch (Exception e) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if (Integer.valueOf(failureNum.toString()) > 0) {
|
|
|
+ failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
|
|
|
+ throw new ServiceException(failureMsg.toString());
|
|
|
+ } else {
|
|
|
+ successMsg.insert(0, "恭喜您,数据已全部导入成功");
|
|
|
+ }
|
|
|
+ return success(successMsg);
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping("/importEntrustNext")
|
|
|
+ @Transactional
|
|
|
+ public AjaxResult importEntrustNext(MultipartFile file) throws Exception {
|
|
|
+ AtomicInteger failureNum = new AtomicInteger();
|
|
|
+ StringBuilder successMsg = new StringBuilder();
|
|
|
+ StringBuilder failureMsg = new StringBuilder();
|
|
|
+ try {
|
|
|
+
|
|
|
+ Long tenantId = getTenantId();
|
|
|
+ //获取当前月
|
|
|
+ SysCurrentMonth sysCurrentMonth = sysCurrentMonthService.getOne(new QueryWrapper<SysCurrentMonth>().eq("tenant_id", tenantId).eq("type", 1));
|
|
|
+ String day = "-01";
|
|
|
+ String workMonth = sysCurrentMonth.getYear() + "-" + sysCurrentMonth.getMonth() + day;
|
|
|
+ ExcelUtil<EntrustVo> util = new ExcelUtil<>(EntrustVo.class);
|
|
|
+ List<EntrustVo> entrustVos = util.importExcel(file.getInputStream());
|
|
|
+ List<EntrustVo> newEntrustList = new ArrayList<>();
|
|
|
+ entrustVos.forEach(f -> {
|
|
|
+ ArrayList<Integer> objects = new ArrayList<>();
|
|
|
+ if (f.getTaskName1().equals("是")) {
|
|
|
+ objects.add(1);
|
|
|
+ }
|
|
|
+ if (f.getTaskName2().equals("是")) {
|
|
|
+ objects.add(2);
|
|
|
+ }
|
|
|
+ if (f.getTaskName3().equals("是")) {
|
|
|
+ objects.add(3);
|
|
|
+ }
|
|
|
+ f.setCount(objects);
|
|
|
+ });
|
|
|
+
|
|
|
+ for (EntrustVo entrustVo : entrustVos) {
|
|
|
+ for (Integer integer : entrustVo.getCount()) {
|
|
|
+ EntrustVo entrustVo1 = new EntrustVo();
|
|
|
+ if (integer == 1) {
|
|
|
+ entrustVo1.setTaskId(1);
|
|
|
+ } else if (integer == 2) {
|
|
|
+ entrustVo1.setTaskId(2);
|
|
|
+ } else {
|
|
|
+ entrustVo1.setTaskId(3);
|
|
|
+ }
|
|
|
+ entrustVo1.setNo(entrustVo.getNo());
|
|
|
+ entrustVo1.setToEntrustName(entrustVo.getToEntrustName());
|
|
|
+ entrustVo1.setCompanyName(entrustVo.getCompanyName());
|
|
|
+ newEntrustList.add(entrustVo1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ newEntrustList.forEach(f -> {
|
|
|
+ try {
|
|
|
+ BizCompany company = bizCompanyService.getOne(new LambdaQueryWrapper<BizCompany>()
|
|
|
+ .eq(BizCompany::getTenantId, tenantId)
|
|
|
+ .eq(BizCompany::getName, f.getCompanyName().trim()));
|
|
|
+ if (company == null) {
|
|
|
+ failureNum.getAndIncrement();
|
|
|
+ failureMsg.append("<br/>" + "序号为" + f.getNo() + "," + "客户 " + f.getCompanyName() + "不存在");
|
|
|
+ } else {
|
|
|
+ f.setCompanyId(company.getId());
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ System.out.println(e);
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ //获取工单
|
|
|
+ for (EntrustVo e : newEntrustList) {
|
|
|
+ List<BizWorkOrder> bizWorkOrders = bizWorkOrderService.list(new LambdaQueryWrapper<BizWorkOrder>()
|
|
|
+ .eq(BizWorkOrder::getTenantId, tenantId)
|
|
|
+ .eq(BizWorkOrder::getIsStop, 0)
|
|
|
+ .eq(BizWorkOrder::getDeleted, 0)
|
|
|
+ .eq(BizWorkOrder::getType, 1)
|
|
|
+ .eq(BizWorkOrder::getTaskTypeId, e.getTaskId())
|
|
|
+ .eq(BizWorkOrder::getCompanyId, e.getCompanyId()));
|
|
|
+ if (bizWorkOrders == null || bizWorkOrders.size() == 0) {
|
|
|
+ failureNum.getAndIncrement();
|
|
|
+ String s = "";
|
|
|
+ if (e.getTaskId() == 1) {
|
|
|
+ s = "代理记账服务";
|
|
|
+ } else if (e.getTaskId() == 2) {
|
|
|
+ s = "社保代缴服务";
|
|
|
+ } else {
|
|
|
+ s = "公积金代缴服务";
|
|
|
+ }
|
|
|
+ failureMsg.append("<br/>" + "序号为" + e.getNo() + "," + "客户 " + e.getCompanyName() + " 没有" + s);
|
|
|
+ } else {
|
|
|
+ e.setWorkOrderIds(bizWorkOrders.stream().map(m -> m.getId()).collect(Collectors.toList()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //根据受委托方分组
|
|
|
+ Map<String, List<EntrustVo>> map = newEntrustList.stream().collect(Collectors.groupingBy(e -> e.getToEntrustName()));
|
|
|
+ for (String s : map.keySet()) {
|
|
|
+ BizEntrust bizEntrust = new BizEntrust();
|
|
|
+ Tenant one = tenantService.getOne(new LambdaQueryWrapper<Tenant>().eq(Tenant::getAccountName, s));
|
|
|
+ bizEntrust.setToTenantId(one.getId());
|
|
|
+ bizEntrust.setWorkMonth(Date.valueOf(workMonth));
|
|
|
+ List<Long> workOrderIds = map.get(s).stream()
|
|
|
+ .flatMap(e -> e.getWorkOrderIds().stream())
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ bizEntrust.setWorkOrderIds(workOrderIds);
|
|
|
+ this.addEntrust(bizEntrust);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
|
}
|
|
|
|
|
@@ -355,7 +501,7 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
|
|
|
// 获取上月的委托
|
|
|
List<BizEntrust> entrusts = bizEntrustService.query().eq("tenant_id", tenantId).eq("work_month", nextMonthDate.toSqlDate()).list();
|
|
|
- List<BizEntrust> entr = new ArrayList<>(entrusts) ;
|
|
|
+ List<BizEntrust> entr = new ArrayList<>(entrusts);
|
|
|
//将到截至月的委托去掉
|
|
|
for (BizEntrust b : entr) {
|
|
|
List<BizWorkOrder> workOrder = bizWorkOrderService.query().eq("id", b.getWorkOrderId()).list();
|
|
@@ -369,7 +515,7 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
calendar.set(Calendar.DAY_OF_MONTH, 1);
|
|
|
Date currentMonthDate = new java.sql.Date(calendar.getTime().getTime());
|
|
|
if (!workOrder.isEmpty()) {
|
|
|
- if(workOrder.get(0).getIsStop() == 1 || (currentMonthDate == workOrder.get(0).getEndMonth())){
|
|
|
+ if (workOrder.get(0).getIsStop() == 1 || (currentMonthDate == workOrder.get(0).getEndMonth())) {
|
|
|
entrusts.removeIf(s -> s.getWorkOrderId().equals(b.getWorkOrderId()));
|
|
|
}
|
|
|
}
|
|
@@ -416,6 +562,7 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
(nextMonth.getId() == null || sysCurrentMonthService.updateById(nextMonth)) &&
|
|
|
sysCurrentMonthService.save(newNextMonth));
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 导出本月工单
|
|
|
*/
|
|
@@ -477,6 +624,60 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Log(title = "本月工单门店导出", businessType = BusinessType.EXPORT)
|
|
|
+ @PostMapping("/exportStore")
|
|
|
+ public void exportStore(HttpServletResponse response, BizWorkOrder bizWorkOrder) throws NoSuchFieldException, IllegalAccessException {
|
|
|
+ List<SysCurrentMonth> months = sysCurrentMonthService.list(new LambdaQueryWrapper<SysCurrentMonth>()
|
|
|
+ .eq(SysCurrentMonth::getTenantId, getTenantId())
|
|
|
+ .eq(SysCurrentMonth::getType, 0));
|
|
|
+ Date date = DateTime.of(months.get(0).getYear() + "-" + months.get(0).getMonth() + "-01", "yyyy-MM-dd").toSqlDate();
|
|
|
+ bizWorkOrder.setWorkDate(date);
|
|
|
+ setTenantId(bizWorkOrder);
|
|
|
+ startOrderBy();
|
|
|
+// bizWorkOrder.setIsStop(0);
|
|
|
+ List<BizWorkOrder> list = bizWorkOrderService.getList(bizWorkOrder);
|
|
|
+ ExcelUtil<BizWorkOrder> util = new ExcelUtil<BizWorkOrder>(BizWorkOrder.class);
|
|
|
+ util.exportExcel(response, list, "本月工单");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Log(title = "下月工单门店导出", businessType = BusinessType.EXPORT)
|
|
|
+ @PostMapping("/exportNextStore")
|
|
|
+ public void exportNextStore(HttpServletResponse response, BizWorkOrder bizWorkOrder) throws NoSuchFieldException, IllegalAccessException {
|
|
|
+ setTenantId(bizWorkOrder);
|
|
|
+ startOrderBy();
|
|
|
+// bizWorkOrder.setIsStop(0);
|
|
|
+ List<SysCurrentMonth> months = sysCurrentMonthService.list(new LambdaQueryWrapper<SysCurrentMonth>()
|
|
|
+ .eq(SysCurrentMonth::getTenantId, getTenantId())
|
|
|
+ .eq(SysCurrentMonth::getType, 1));
|
|
|
+ Date date = DateTime.of(months.get(0).getYear() + "-" + months.get(0).getMonth() + "-01", "yyyy-MM-dd").toSqlDate();
|
|
|
+ bizWorkOrder.setWorkDate(date);
|
|
|
+ List<BizWorkOrder> list = bizWorkOrderService.getList(bizWorkOrder);
|
|
|
+ ExcelUtil<BizWorkOrder> util = new ExcelUtil<BizWorkOrder>(BizWorkOrder.class);
|
|
|
+ util.exportExcel(response, list, "下月工单");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Log(title = "本月工单工厂导出", businessType = BusinessType.EXPORT)
|
|
|
+ @PostMapping("/exportFactory")
|
|
|
+ public void exportFactory(HttpServletResponse response, BizWorkOrder bizWorkOrder) throws NoSuchFieldException, IllegalAccessException {
|
|
|
+ bizWorkOrder.setToTenantId(getTenantId());
|
|
|
+ bizWorkOrder.setWorkDate(bizWorkOrder.getCurrentMonth());
|
|
|
+// bizWorkOrder.setIsStop(0);
|
|
|
+ List<BizWorkOrder> list = bizWorkOrderService.getList(bizWorkOrder);
|
|
|
+ ExcelUtil<BizWorkOrder> util = new ExcelUtil<BizWorkOrder>(BizWorkOrder.class);
|
|
|
+ util.exportExcel(response, list, "下月工单");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Log(title = "下月工单工厂导出", businessType = BusinessType.EXPORT)
|
|
|
+ @PostMapping("/exportNextFactory")
|
|
|
+ public void exportNextFactory(HttpServletResponse response, BizWorkOrder bizWorkOrder) throws NoSuchFieldException, IllegalAccessException {
|
|
|
+ bizWorkOrder.setToTenantId(getTenantId());
|
|
|
+// bizWorkOrder.setIsStop(0);
|
|
|
+ bizWorkOrder.setWorkDate(bizWorkOrder.getCurrentMonth());
|
|
|
+ List<BizWorkOrder> list = bizWorkOrderService.getList(bizWorkOrder);
|
|
|
+ ExcelUtil<BizWorkOrder> util = new ExcelUtil<BizWorkOrder>(BizWorkOrder.class);
|
|
|
+ util.exportExcel(response, list, "下月工单");
|
|
|
+ }
|
|
|
+
|
|
|
@PreAuthorize("@ss.hasPermi('business:entrust:workOrder:current:edit')")
|
|
|
@GetMapping("/getFactories")
|
|
|
public AjaxResult getFactories() {
|