|
@@ -28,6 +28,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
@@ -358,6 +359,7 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
|
|
|
newEntrustList.forEach(f -> {
|
|
|
try {
|
|
|
+
|
|
|
BizCompany company = bizCompanyService.getOne(new LambdaQueryWrapper<BizCompany>()
|
|
|
.eq(BizCompany::getTenantId, tenantId)
|
|
|
.eq(BizCompany::getName, f.getCompanyName().trim()));
|
|
@@ -365,11 +367,20 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
failureNum.getAndIncrement();
|
|
|
failureMsg.append("<br/>" + "序号为" + f.getNo() + "," + "客户 " + f.getCompanyName() + "不存在");
|
|
|
} else {
|
|
|
+ Long companyId = company.getId();
|
|
|
+ List<BizEntrust> list = bizEntrustService.list(new LambdaQueryWrapper<BizEntrust>()
|
|
|
+ .eq(BizEntrust::getCompanyId, companyId)
|
|
|
+ .eq(BizEntrust::getWorkMonth, workMonth));
|
|
|
+ if (!CollectionUtils.isEmpty(list)) {
|
|
|
+ failureNum.getAndIncrement();
|
|
|
+ failureMsg.append("<br/>" + "序号为" + f.getNo() + "," + "客户 " + f.getCompanyName() + "已存在委托或部分委托。");
|
|
|
+ }
|
|
|
f.setCompanyId(company.getId());
|
|
|
+
|
|
|
}
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
- System.out.println(e);
|
|
|
+ e.printStackTrace();
|
|
|
}
|
|
|
|
|
|
});
|
|
@@ -480,11 +491,10 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
|
|
|
@PreAuthorize("@ss.hasPermi('business:entrust:workOrder:current:trans')")
|
|
|
@GetMapping("/transNext")
|
|
|
- @Anonymous
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public AjaxResult transNext(Long tenantId) {
|
|
|
+ public AjaxResult transNext() {
|
|
|
// 将本月改为上一月,将下月改成本月,添加新月
|
|
|
- List<SysCurrentMonth> months = sysCurrentMonthService.query().eq("tenant_id", tenantId).ge("type", 0).list();
|
|
|
+ List<SysCurrentMonth> months = sysCurrentMonthService.query().eq("tenant_id", getTenantId()).ge("type", 0).list();
|
|
|
SysCurrentMonth currentMonth = months.stream().filter(v -> v.getType().equals(0)).findFirst().orElse(new SysCurrentMonth());
|
|
|
if (currentMonth.getId() == null) {
|
|
|
throw new ServiceException("未设定本月");
|
|
@@ -496,12 +506,12 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
DateTime nextMonthDate = DateTime.of(nextMonth.getYear() + nextMonth.getMonth() + "01", "yyyyMMdd");
|
|
|
newNextMonth.setMonth(nextMonthDate.offsetNew(DateField.MONTH, 1).toString("MM"));
|
|
|
newNextMonth.setYear(nextMonthDate.offsetNew(DateField.MONTH, 1).toString("yyyy"));
|
|
|
- newNextMonth.setTenantId(tenantId);
|
|
|
+ newNextMonth.setTenantId(getTenantId());
|
|
|
newNextMonth.setType(1);
|
|
|
|
|
|
// 获取上月的委托
|
|
|
- List<BizEntrust> entrusts = bizEntrustService.query().eq("tenant_id", tenantId).eq("work_month", nextMonthDate.toSqlDate()).list();
|
|
|
- List<BizEntrust> entr = new ArrayList<>(entrusts);
|
|
|
+ List<BizEntrust> entrusts = bizEntrustService.query().eq("tenant_id", getTenantId()).eq("work_month", nextMonthDate.toSqlDate()).list();
|
|
|
+ List<BizEntrust> entr = new ArrayList<>(entrusts) ;
|
|
|
//将到截至月的委托去掉
|
|
|
for (BizEntrust b : entr) {
|
|
|
List<BizWorkOrder> workOrder = bizWorkOrderService.query().eq("id", b.getWorkOrderId()).list();
|
|
@@ -515,7 +525,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()));
|
|
|
}
|
|
|
}
|
|
@@ -535,6 +545,75 @@ public class WorkOrderCurrentController extends BaseController {
|
|
|
);
|
|
|
}
|
|
|
|
|
|
+ @PostMapping("/transNextTask")
|
|
|
+ @Anonymous
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void transNextTask(@RequestBody List<Tenant> storeList) {
|
|
|
+ for (Tenant tenant : storeList) {
|
|
|
+ Long tenantId = tenant.getId();
|
|
|
+ // 将本月改为上一月,将下月改成本月,添加新月
|
|
|
+ List<SysCurrentMonth> months = sysCurrentMonthService.query().eq("tenant_id", tenantId).ge("type", 0).list();
|
|
|
+ SysCurrentMonth currentMonth = months.stream().filter(v -> v.getType().equals(0)).findFirst().orElse(new SysCurrentMonth());
|
|
|
+ if (currentMonth.getId() == null) {
|
|
|
+// throw new ServiceException("未设定本月");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ SysCurrentMonth nextMonth = months.stream().filter(v -> v.getType().equals(1)).findFirst().orElse(new SysCurrentMonth());
|
|
|
+ SysCurrentMonth newNextMonth = new SysCurrentMonth();
|
|
|
+ currentMonth.setType(-1);
|
|
|
+ nextMonth.setType(0);
|
|
|
+ DateTime nextMonthDate = DateTime.of(nextMonth.getYear() + nextMonth.getMonth() + "01", "yyyyMMdd");
|
|
|
+ newNextMonth.setMonth(nextMonthDate.offsetNew(DateField.MONTH, 1).toString("MM"));
|
|
|
+ newNextMonth.setYear(nextMonthDate.offsetNew(DateField.MONTH, 1).toString("yyyy"));
|
|
|
+ newNextMonth.setTenantId(tenantId);
|
|
|
+ newNextMonth.setType(1);
|
|
|
+
|
|
|
+ // 获取上月的委托
|
|
|
+ List<BizEntrust> entrusts = bizEntrustService.query().eq("tenant_id", tenantId).eq("work_month", nextMonthDate.toSqlDate()).list();
|
|
|
+ List<BizEntrust> entr = new ArrayList<>(entrusts);
|
|
|
+ //将到截至月的委托去掉
|
|
|
+ for (BizEntrust b : entr) {
|
|
|
+ List<BizWorkOrder> workOrder = bizWorkOrderService.query().eq("id", b.getWorkOrderId()).list();
|
|
|
+
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ // 设置年份
|
|
|
+ calendar.set(Calendar.YEAR, Integer.parseInt(months.get(0).getYear()));
|
|
|
+ // 设置月份为(注意:月份是从0开始的,所以要减1)
|
|
|
+ calendar.set(Calendar.MONTH, Integer.parseInt(months.get(0).getMonth()) - 1);
|
|
|
+ // 设置日期
|
|
|
+ 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())) {
|
|
|
+ entrusts.removeIf(s -> s.getWorkOrderId().equals(b.getWorkOrderId()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ entrusts.forEach(l -> {
|
|
|
+ DateTime currentWorkMonth = DateTime.of(l.getWorkMonth());
|
|
|
+ DateTime currentMonthDate = DateTime.of(l.getCurrentMonth());
|
|
|
+ l.setWorkMonth(currentWorkMonth.offsetNew(DateField.MONTH, 1).toSqlDate());
|
|
|
+ l.setCurrentMonth(currentMonthDate.offsetNew(DateField.MONTH, 1).toSqlDate());
|
|
|
+ l.setId(null);
|
|
|
+ });
|
|
|
+
|
|
|
+ toAjax(
|
|
|
+ (currentMonth.getId() == null || sysCurrentMonthService.updateById(currentMonth)) &&
|
|
|
+ (nextMonth.getId() == null || sysCurrentMonthService.updateById(nextMonth)) &&
|
|
|
+ sysCurrentMonthService.save(newNextMonth) && (entrusts.isEmpty() || bizEntrustService.saveBatch(entrusts))
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ @Anonymous
|
|
|
+ @PostMapping("/test")
|
|
|
+ public void test(@RequestBody List<Tenant> storeList){
|
|
|
+ for (Tenant tenant : storeList) {
|
|
|
+ System.out.println(tenant.getId());
|
|
|
+ System.out.println(tenant.getAccountName());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
@PreAuthorize("@ss.hasPermi('business:entrust:workOrder:current:trans')")
|
|
|
@GetMapping("/transNextForFactory")
|