工艺提交

develop-QA
liweidong-hj 6 months ago
parent 6c59fa9845
commit 0c1d417c2f
  1. 82
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/constant/BatchConstant.java
  2. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/constant/TaskingConstant.java
  3. 11
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/BsCraftAbilityController.java
  4. 78
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/BsProcessSetController.java
  5. 68
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsBatchPreservePlanController.java
  6. 51
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsBatchPreserveTaskController.java
  7. 44
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsBatchWorkCenterSetController.java
  8. 31
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsMainSaltAddQuantityController.java
  9. 70
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsSimilarPartsController.java
  10. 60
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsSpecialProController.java
  11. 35
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsTaskingController.java
  12. 47
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/excel/BsProcessSetExcel.java
  13. 48
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/excel/DsSimilarPartsExcel.java
  14. 33
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/excel/DsSpecialProExcel.java
  15. 43
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BatchPreservePlanMapper.xml
  16. 21
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BatchPreserveTaskMapper.xml
  17. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BatchWorkCenterSetMapper.xml
  18. 1
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BsCraftAbilityMapper.java
  19. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BsProcessSetMapper.java
  20. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BsWorkCenterMapper.java
  21. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/CraftAbilityMapper.xml
  22. 24
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsBatchPreservePlanMapper.java
  23. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsBatchPreserveTaskMapper.java
  24. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsBatchWorkCenterSetMapper.java
  25. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsMainSaltAddQuantityMapper.java
  26. 12
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/MainSaltAddQuantityMapper.xml
  27. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ProcessSetMapper.xml
  28. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ReworkProcessMapper.xml
  29. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/SpecialProMapper.xml
  30. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/TaskBillMapper.xml
  31. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/TaskingMapper.xml
  32. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/WorkCenterMapper.xml
  33. 10
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBatchPreservePlanDTO.java
  34. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBatchPreserveTaskDTO.java
  35. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsMainSaltAddQuantityDTO.java
  36. 16
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsProcessSetEntity.java
  37. 44
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchPreservePlanEntity.java
  38. 23
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchPreserveTaskEntity.java
  39. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchWorkCenterSetEntity.java
  40. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsMainSaltAddQuantityEntity.java
  41. 27
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsSpecialProEntity.java
  42. 12
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsTaskBillEntity.java
  43. 12
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/PrReworkProcessEntity.java
  44. 13
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchPreservePlanVO.java
  45. 31
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchPreserveTaskVO.java
  46. 13
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchWorkCenterSetVO.java
  47. 19
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsMainSaltAddQuantityVO.java
  48. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartSynthesisVO.java
  49. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsSimilarPartsVO.java
  50. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IBsCraftAbilityService.java
  51. 13
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IBsProcessSetService.java
  52. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IBsWorkCenterService.java
  53. 48
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsBatchPreservePlanService.java
  54. 15
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsBatchPreserveTaskService.java
  55. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsBatchWorkCenterSetService.java
  56. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsMainSaltAddQuantityService.java
  57. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsSimilarPartsService.java
  58. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsSpecialProService.java
  59. 14
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsTaskingService.java
  60. 11
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/BsCraftAbilityServiceImpl.java
  61. 38
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/BsProcessSetServiceImpl.java
  62. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/BsWorkCenterServiceImpl.java
  63. 157
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsBatchPreservePlanServiceImpl.java
  64. 92
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsBatchPreserveTaskServiceImpl.java
  65. 76
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsBatchWorkCenterSetServiceImpl.java
  66. 38
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsMainSaltAddQuantityServiceImpl.java
  67. 37
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsSimilarPartsServiceImpl.java
  68. 56
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsSpecialProServiceImpl.java
  69. 36
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java
  70. 266
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/utils/DateUtils.java
  71. BIN
      blade-service/blade-desk/src/main/resources/Excel/QA/ImportTemplate-CycleTestItem.xls
  72. BIN
      blade-service/blade-desk/src/main/resources/Excel/QA/工序导入模板.xls
  73. BIN
      blade-service/blade-desk/src/main/resources/Excel/QA/工艺特殊过程项导入模板.xls
  74. BIN
      blade-service/blade-desk/src/main/resources/Excel/QA/相似零件导入模板.xls

@ -0,0 +1,82 @@
package org.springblade.desk.dashboard.constant;
/**
* @author: liweidong
* @create: 2025-11-13
*/
public interface BatchConstant {
/** 槽液类型*/
/**
* 计划类
*/
Integer PLAN = 1;
/**
* 累计类
*/
Integer ACCUMULATE = 2;
/**
* 定期类-槽液
*/
Integer REGULAR_BATH = 3;
/**
* 定期类-设备
*/
Integer REGULAR_DEVICE = 4;
/** 槽液检查任务状态*/
/**
* 待维护
*/
Integer TO_BE_MAINTAINED = 1;
/**
* 待审核
*/
Integer PENDING_REVIEW = 2;
/**
* 审核通过
*/
Integer AUDIT_PASS = 3;
/**
* 审核不通过
*/
Integer AUDIT_NO_PASS = 4;
/**
* 过期未维护
*/
Integer PAST_UNTOUCHED = 5;
/** 槽液审批状态*/
/**
* 待审核
*/
Integer STATUS_NEW = 1;
/**
* 主任审核通过
*/
Integer DIRECTOR_STATUS_RECEIPT = 2;
/**
* 厂长审核通过
*/
Integer FACTORY_STATUS_RECEIPT = 3;
/**
* 主任审核未通过
*/
Integer DIRECTOR_STATUS_ASSIGN = 4 ;
/**
* 厂长审核未通过
*/
Integer FACTORY_STATUS_ASSIGN = 5 ;
}

@ -94,6 +94,11 @@ public interface TaskingConstant {
*/
String REWORK_PLAN_EDIT = "6";
/**
* 维护任务
*/
String MAINTAIN_TASK = "7";
/** 零件工艺状态*/
/**

@ -158,4 +158,15 @@ public class BsCraftAbilityController extends BladeController {
ExcelUtil.export(response, "工艺能力表数据" + DateUtil.time(), "工艺能力表数据表", list, BsCraftAbilityExcel.class);
}
/**
* 获取所有工艺能力
*/
@GetMapping("/getCraftAbilityList")
@ApiOperationSupport(order = 2)
@Operation(summary = "获取所有工艺能力", description = "传入bsCraftAbility")
public R<List<BsCraftAbilityEntity>> getCraftAbilityList() {
List<BsCraftAbilityEntity> craftAbilityList = bsCraftAbilityService.getCraftAbilityList();
return R.data(craftAbilityList);
}
}

@ -35,6 +35,7 @@ import jakarta.annotation.Resource;
import lombok.AllArgsConstructor;
import jakarta.validation.Valid;
import org.apache.commons.lang3.StringUtils;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.annotation.IsAdmin;
import org.springblade.core.mp.support.Condition;
@ -44,15 +45,15 @@ import org.springblade.core.tool.utils.Func;
import org.springblade.desk.dashboard.pojo.dto.BsTeamSetDTO;
import org.springblade.desk.dashboard.pojo.entity.BsProcessSetEntity;
import org.springblade.desk.dashboard.pojo.entity.BsTeamSetEntity;
import org.springblade.desk.dashboard.pojo.vo.BsProcessSetVO;
import org.springblade.desk.dashboard.pojo.vo.*;
import org.springblade.desk.dashboard.excel.BsProcessSetExcel;
import org.springblade.desk.dashboard.pojo.vo.BsProcessTeamVO;
import org.springblade.desk.dashboard.pojo.vo.BsTeamProcessVO;
import org.springblade.desk.dashboard.pojo.vo.BsTeamSetEntityVO;
import org.springblade.desk.dashboard.service.IBsProcessSetService;
import org.springblade.desk.dashboard.service.IBsProcessTeamService;
import org.springblade.desk.dashboard.service.IBsTeamSetService;
import org.springblade.desk.dashboard.wrapper.BsProcessSetWrapper;
import org.springblade.desk.quality.util.ExcelExtUtil;
import org.springframework.http.ResponseEntity;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springblade.core.boot.ctrl.BladeController;
@ -62,9 +63,7 @@ import org.springblade.core.excel.util.ExcelUtil;
import java.util.Map;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.multipart.MultipartFile;
/**
@ -215,5 +214,70 @@ public class BsProcessSetController extends BladeController {
}
/**
*
* 导入模版
*/
@GetMapping("/import-template")
@ApiOperationSupport(order = 9)
@Operation(summary = "下载Excel模板", description = "")
public ResponseEntity<org.springframework.core.io.Resource> importTemplate() {
return ExcelExtUtil.downloadXlsTemplate(
"Excel/QA/工序导入模板.xls",
"导入模版-工序导入模板.xls");
}
/**
* 导入Excel简洁版
*/
@PostMapping("/import-excel-processSet")
@ApiOperationSupport(order = 10)
@Transactional(rollbackFor = Exception.class)
public R importExcelProcessSet(@RequestParam("file") MultipartFile file) {
try {
// 1. 快速文件校验
if (file.isEmpty() || !isValidExcelFile(file)) {
return R.fail("请上传有效的Excel文件");
}
// 2. 读取数据
List<BsProcessSetExcel> list = ExcelUtil.read(file, 0, 1, BsProcessSetExcel.class);
return R.status(bsProcessSetService.importExcelProcessSet(list));
} catch (Exception e) {
return R.fail("导入失败: " + e.getLocalizedMessage());
}
}
/**
* 快速文件校验
*/
private boolean isValidExcelFile(MultipartFile file) {
if (file == null || file.isEmpty()) {
return false;
}
String fileName = file.getOriginalFilename();
if (StringUtils.isBlank(fileName)) {
return false;
}
String lowerName = fileName.toLowerCase();
return lowerName.endsWith(".xls") || lowerName.endsWith(".xlsx");
}
/**
* 获取所有工序
*/
@GetMapping("/getProcessSetList")
@ApiOperationSupport(order = 3)
@Operation(summary = "获取所有工序", description = "传入bsProcessSet")
public R<List<BsProcessSetVO>> getProcessSetList() {
List<BsProcessSetVO> processSetList = bsProcessSetService.getProcessSetList();
return R.data(processSetList);
}
}

@ -38,6 +38,7 @@ import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.dashboard.pojo.dto.DsBatchPreservePlanDTO;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -78,22 +79,12 @@ public class DsBatchPreservePlanController extends BladeController {
DsBatchPreservePlanEntity detail = dsBatchPreservePlanService.getOne(Condition.getQueryWrapper(dsBatchPreservePlan));
return R.data(DsBatchPreservePlanWrapper.build().entityVO(detail));
}
/**
* 槽液维护计划表 分页
*/
@GetMapping("/list")
@ApiOperationSupport(order = 2)
@Operation(summary = "分页", description = "传入dsBatchPreservePlan")
public R<IPage<DsBatchPreservePlanVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> dsBatchPreservePlan, Query query) {
IPage<DsBatchPreservePlanEntity> pages = dsBatchPreservePlanService.page(Condition.getPage(query), Condition.getQueryWrapper(dsBatchPreservePlan, DsBatchPreservePlanEntity.class));
return R.data(DsBatchPreservePlanWrapper.build().pageVO(pages));
}
/**
* 槽液维护计划表 自定义分页
*/
@GetMapping("/page")
@ApiOperationSupport(order = 3)
@GetMapping("/list")
@ApiOperationSupport(order = 2)
@Operation(summary = "分页", description = "传入dsBatchPreservePlan")
public R<IPage<DsBatchPreservePlanVO>> page(DsBatchPreservePlanVO dsBatchPreservePlan, Query query) {
IPage<DsBatchPreservePlanVO> pages = dsBatchPreservePlanService.selectDsBatchPreservePlanPage(Condition.getPage(query), dsBatchPreservePlan);
@ -104,7 +95,7 @@ public class DsBatchPreservePlanController extends BladeController {
* 槽液维护计划表 新增
*/
@PostMapping("/save")
@ApiOperationSupport(order = 4)
@ApiOperationSupport(order = 3)
@Operation(summary = "新增", description = "传入dsBatchPreservePlan")
public R save(@Valid @RequestBody DsBatchPreservePlanEntity dsBatchPreservePlan) {
return R.status(dsBatchPreservePlanService.save(dsBatchPreservePlan));
@ -114,7 +105,7 @@ public class DsBatchPreservePlanController extends BladeController {
* 槽液维护计划表 修改
*/
@PostMapping("/update")
@ApiOperationSupport(order = 5)
@ApiOperationSupport(order = 4)
@Operation(summary = "修改", description = "传入dsBatchPreservePlan")
public R update(@Valid @RequestBody DsBatchPreservePlanEntity dsBatchPreservePlan) {
return R.status(dsBatchPreservePlanService.updateById(dsBatchPreservePlan));
@ -124,17 +115,17 @@ public class DsBatchPreservePlanController extends BladeController {
* 槽液维护计划表 新增或修改
*/
@PostMapping("/submit")
@ApiOperationSupport(order = 6)
@ApiOperationSupport(order = 5)
@Operation(summary = "新增或修改", description = "传入dsBatchPreservePlan")
public R submit(@Valid @RequestBody DsBatchPreservePlanEntity dsBatchPreservePlan) {
return R.status(dsBatchPreservePlanService.saveOrUpdate(dsBatchPreservePlan));
public R submit(@Valid @RequestBody List<DsBatchPreservePlanEntity> dsBatchPreservePlan) {
return R.status(dsBatchPreservePlanService.saveOrUpdateBatchPreservePlan(dsBatchPreservePlan));
}
/**
* 槽液维护计划表 删除
*/
@PostMapping("/remove")
@ApiOperationSupport(order = 7)
@ApiOperationSupport(order = 6)
@Operation(summary = "逻辑删除", description = "传入ids")
public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
return R.status(dsBatchPreservePlanService.deleteLogic(Func.toLongList(ids)));
@ -146,7 +137,7 @@ public class DsBatchPreservePlanController extends BladeController {
*/
@IsAdmin
@GetMapping("/export-dsBatchPreservePlan")
@ApiOperationSupport(order = 9)
@ApiOperationSupport(order = 7)
@Operation(summary = "导出数据", description = "传入dsBatchPreservePlan")
public void exportDsBatchPreservePlan(@Parameter(hidden = true) @RequestParam Map<String, Object> dsBatchPreservePlan, BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<DsBatchPreservePlanEntity> queryWrapper = Condition.getQueryWrapper(dsBatchPreservePlan, DsBatchPreservePlanEntity.class);
@ -158,4 +149,43 @@ public class DsBatchPreservePlanController extends BladeController {
ExcelUtil.export(response, "槽液维护计划表数据" + DateUtil.time(), "槽液维护计划表数据表", list, DsBatchPreservePlanExcel.class);
}
/**
* 主任审批
*/
@PostMapping("/directorApproval")
@ApiOperationSupport(order = 8)
@Operation(summary = "审批", description = "传入dsBatchPreservePlan")
public R directorApproval( @RequestBody DsBatchPreservePlanDTO dsBatchPreservePlan) {
return R.status(dsBatchPreservePlanService.directorApproval(dsBatchPreservePlan));
}
/**
* 厂长审批
*/
@PostMapping("/factoryApproval")
@ApiOperationSupport(order = 8)
@Operation(summary = "审批", description = "传入dsBatchPreservePlan")
public R factoryApproval( @RequestBody DsBatchPreservePlanDTO dsBatchPreservePlan) {
return R.status(dsBatchPreservePlanService.factoryApproval(dsBatchPreservePlan));
}
/**
* 模拟定时任务
*/
@GetMapping("/test")
@ApiOperationSupport(order = 8)
@Operation(summary = "审批", description = "")
public R factoryApproval() {
//todo 新增时没有向任务表中增加任务状态 是否更改
//todo 创建槽液精细化-计划类-任务发起任务定时器运行...
dsBatchPreservePlanService.createPlanClassTask();
//todo 创建槽液精细化-定期类-任务发起任务定时器运行
//todo 存在问题 查询3和4 没有时间限制 每天查询 每天新增
dsBatchPreservePlanService.createPeriodicalClassTask();
//todo 创建槽液精细化-累计类-任务发起任务定时器运行
dsBatchPreservePlanService.createAccumulateClassTask();
return R.status(true);
}
}

@ -25,6 +25,8 @@
*/
package org.springblade.desk.dashboard.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
@ -38,6 +40,7 @@ import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.dashboard.pojo.dto.DsBatchPreserveTaskDTO;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -50,6 +53,8 @@ import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.tool.constant.BladeConstant;
import java.math.BigDecimal;
import java.util.Map;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
@ -78,21 +83,21 @@ public class DsBatchPreserveTaskController extends BladeController {
DsBatchPreserveTaskEntity detail = dsBatchPreserveTaskService.getOne(Condition.getQueryWrapper(dsBatchPreserveTask));
return R.data(DsBatchPreserveTaskWrapper.build().entityVO(detail));
}
/**
* 槽液维护任务表 分页
*/
@GetMapping("/list")
@ApiOperationSupport(order = 2)
@Operation(summary = "分页", description = "传入dsBatchPreserveTask")
public R<IPage<DsBatchPreserveTaskVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> dsBatchPreserveTask, Query query) {
IPage<DsBatchPreserveTaskEntity> pages = dsBatchPreserveTaskService.page(Condition.getPage(query), Condition.getQueryWrapper(dsBatchPreserveTask, DsBatchPreserveTaskEntity.class));
return R.data(DsBatchPreserveTaskWrapper.build().pageVO(pages));
}
// /**
// * 槽液维护任务表 分页
// */
// @GetMapping("/list")
// @ApiOperationSupport(order = 2)
// @Operation(summary = "分页", description = "传入dsBatchPreserveTask")
// public R<IPage<DsBatchPreserveTaskVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> dsBatchPreserveTask, Query query) {
// IPage<DsBatchPreserveTaskEntity> pages = dsBatchPreserveTaskService.page(Condition.getPage(query), Condition.getQueryWrapper(dsBatchPreserveTask, DsBatchPreserveTaskEntity.class));
// return R.data(DsBatchPreserveTaskWrapper.build().pageVO(pages));
// }
/**
* 槽液维护任务表 自定义分页
*/
@GetMapping("/page")
@GetMapping("/list")
@ApiOperationSupport(order = 3)
@Operation(summary = "分页", description = "传入dsBatchPreserveTask")
public R<IPage<DsBatchPreserveTaskVO>> page(DsBatchPreserveTaskVO dsBatchPreserveTask, Query query) {
@ -158,4 +163,28 @@ public class DsBatchPreserveTaskController extends BladeController {
ExcelUtil.export(response, "槽液维护任务表数据" + DateUtil.time(), "槽液维护任务表数据表", list, DsBatchPreserveTaskExcel.class);
}
/**
* 槽液维护任务表 批量维护
*/
@PostMapping("/batchMaintain")
@ApiOperationSupport(order = 10)
@Operation(summary = "批量维护", description = "传入dsBatchPreserveTask")
public R batchMaintain(@Valid @RequestBody List<DsBatchPreserveTaskEntity> dsBatchPreserveTaskEntityList) {
return R.status(dsBatchPreserveTaskService.batchMaintain(dsBatchPreserveTaskEntityList));
}
/**
* 槽液维护任务表 批量审批
*/
@PostMapping("/batchApproval")
@ApiOperationSupport(order = 10)
@Operation(summary = "批量审批", description = "传入dsBatchPreserveTask")
public R batchApproval(@Valid @RequestBody List<DsBatchPreserveTaskEntity> dsBatchPreserveTaskEntityList) {
return R.status(dsBatchPreserveTaskService.batchApproval(dsBatchPreserveTaskEntityList));
}
}

@ -78,21 +78,21 @@ public class DsBatchWorkCenterSetController extends BladeController {
DsBatchWorkCenterSetEntity detail = dsBatchWorkCenterSetService.getOne(Condition.getQueryWrapper(dsBatchWorkCenterSet));
return R.data(DsBatchWorkCenterSetWrapper.build().entityVO(detail));
}
/**
* 槽液作业中心配置 分页
*/
@GetMapping("/list")
@ApiOperationSupport(order = 2)
@Operation(summary = "分页", description = "传入dsBatchWorkCenterSet")
public R<IPage<DsBatchWorkCenterSetVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> dsBatchWorkCenterSet, Query query) {
IPage<DsBatchWorkCenterSetEntity> pages = dsBatchWorkCenterSetService.page(Condition.getPage(query), Condition.getQueryWrapper(dsBatchWorkCenterSet, DsBatchWorkCenterSetEntity.class));
return R.data(DsBatchWorkCenterSetWrapper.build().pageVO(pages));
}
// /**
// * 槽液作业中心配置 分页
// */
// @GetMapping("/list")
// @ApiOperationSupport(order = 2)
// @Operation(summary = "分页", description = "传入dsBatchWorkCenterSet")
// public R<IPage<DsBatchWorkCenterSetVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> dsBatchWorkCenterSet, Query query) {
// IPage<DsBatchWorkCenterSetEntity> pages = dsBatchWorkCenterSetService.page(Condition.getPage(query), Condition.getQueryWrapper(dsBatchWorkCenterSet, DsBatchWorkCenterSetEntity.class));
// return R.data(DsBatchWorkCenterSetWrapper.build().pageVO(pages));
// }
/**
* 槽液作业中心配置 自定义分页
*/
@GetMapping("/page")
@GetMapping("/list")
@ApiOperationSupport(order = 3)
@Operation(summary = "分页", description = "传入dsBatchWorkCenterSet")
public R<IPage<DsBatchWorkCenterSetVO>> page(DsBatchWorkCenterSetVO dsBatchWorkCenterSet, Query query) {
@ -100,26 +100,6 @@ public class DsBatchWorkCenterSetController extends BladeController {
return R.data(pages);
}
/**
* 槽液作业中心配置 新增
*/
@PostMapping("/save")
@ApiOperationSupport(order = 4)
@Operation(summary = "新增", description = "传入dsBatchWorkCenterSet")
public R save(@Valid @RequestBody DsBatchWorkCenterSetEntity dsBatchWorkCenterSet) {
return R.status(dsBatchWorkCenterSetService.save(dsBatchWorkCenterSet));
}
/**
* 槽液作业中心配置 修改
*/
@PostMapping("/update")
@ApiOperationSupport(order = 5)
@Operation(summary = "修改", description = "传入dsBatchWorkCenterSet")
public R update(@Valid @RequestBody DsBatchWorkCenterSetEntity dsBatchWorkCenterSet) {
return R.status(dsBatchWorkCenterSetService.updateById(dsBatchWorkCenterSet));
}
/**
* 槽液作业中心配置 新增或修改
*/
@ -127,7 +107,7 @@ public class DsBatchWorkCenterSetController extends BladeController {
@ApiOperationSupport(order = 6)
@Operation(summary = "新增或修改", description = "传入dsBatchWorkCenterSet")
public R submit(@Valid @RequestBody DsBatchWorkCenterSetEntity dsBatchWorkCenterSet) {
return R.status(dsBatchWorkCenterSetService.saveOrUpdate(dsBatchWorkCenterSet));
return R.status(dsBatchWorkCenterSetService.saveBatchWorkCenterSet(dsBatchWorkCenterSet));
}
/**

@ -38,6 +38,8 @@ import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.dashboard.pojo.dto.DsMainSaltAddQuantityDTO;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -78,21 +80,21 @@ public class DsMainSaltAddQuantityController extends BladeController {
DsMainSaltAddQuantityEntity detail = dsMainSaltAddQuantityService.getOne(Condition.getQueryWrapper(dsMainSaltAddQuantity));
return R.data(DsMainSaltAddQuantityWrapper.build().entityVO(detail));
}
/**
* 主盐添加量表 分页
*/
@GetMapping("/list")
@ApiOperationSupport(order = 2)
@Operation(summary = "分页", description = "传入dsMainSaltAddQuantity")
public R<IPage<DsMainSaltAddQuantityVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> dsMainSaltAddQuantity, Query query) {
IPage<DsMainSaltAddQuantityEntity> pages = dsMainSaltAddQuantityService.page(Condition.getPage(query), Condition.getQueryWrapper(dsMainSaltAddQuantity, DsMainSaltAddQuantityEntity.class));
return R.data(DsMainSaltAddQuantityWrapper.build().pageVO(pages));
}
// /**
// * 主盐添加量表 分页
// */
// @GetMapping("/list")
// @ApiOperationSupport(order = 2)
// @Operation(summary = "分页", description = "传入dsMainSaltAddQuantity")
// public R<IPage<DsMainSaltAddQuantityVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> dsMainSaltAddQuantity, Query query) {
// IPage<DsMainSaltAddQuantityEntity> pages = dsMainSaltAddQuantityService.page(Condition.getPage(query), Condition.getQueryWrapper(dsMainSaltAddQuantity, DsMainSaltAddQuantityEntity.class));
// return R.data(DsMainSaltAddQuantityWrapper.build().pageVO(pages));
// }
/**
* 主盐添加量表 自定义分页
*/
@GetMapping("/page")
@GetMapping("/list")
@ApiOperationSupport(order = 3)
@Operation(summary = "分页", description = "传入dsMainSaltAddQuantity")
public R<IPage<DsMainSaltAddQuantityVO>> page(DsMainSaltAddQuantityVO dsMainSaltAddQuantity, Query query) {
@ -126,8 +128,11 @@ public class DsMainSaltAddQuantityController extends BladeController {
@PostMapping("/submit")
@ApiOperationSupport(order = 6)
@Operation(summary = "新增或修改", description = "传入dsMainSaltAddQuantity")
public R submit(@Valid @RequestBody DsMainSaltAddQuantityEntity dsMainSaltAddQuantity) {
return R.status(dsMainSaltAddQuantityService.saveOrUpdate(dsMainSaltAddQuantity));
public R submit(@Valid @RequestBody List<DsMainSaltAddQuantityVO> mainSaltAddQuantityList) {
if(CollectionUtils.isEmpty(mainSaltAddQuantityList)){
return R.fail("数据为空");
}
return R.status(dsMainSaltAddQuantityService.saveOrUpdateMainSaltAddQuantity(mainSaltAddQuantityList));
}
/**

@ -32,12 +32,22 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import lombok.AllArgsConstructor;
import jakarta.validation.Valid;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.annotation.IsAdmin;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.quality.constant.ExcelConst;
import org.springblade.desk.quality.pojo.entity.CycleTestItem;
import org.springblade.desk.quality.util.ExcelExtUtil;
import org.springframework.core.io.Resource;
import org.springframework.http.ResponseEntity;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -52,7 +62,10 @@ import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.tool.constant.BladeConstant;
import java.util.Map;
import java.util.List;
import java.util.stream.Collectors;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.multipart.MultipartFile;
/**
* 相似零件表 控制器
@ -60,6 +73,7 @@ import jakarta.servlet.http.HttpServletResponse;
* @author BladeX
* @since 2025-11-21
*/
@Slf4j
@RestController
@AllArgsConstructor
@RequestMapping("/dsSimilarParts")
@ -158,4 +172,60 @@ public class DsSimilarPartsController extends BladeController {
ExcelUtil.export(response, "相似零件表数据" + DateUtil.time(), "相似零件表数据表", list, DsSimilarPartsExcel.class);
}
/**
*
* 导入模版
*/
@GetMapping("/import-template")
@ApiOperationSupport(order = 9)
@Operation(summary = "下载Excel模板", description = "")
public ResponseEntity<Resource> importTemplate() {
return ExcelExtUtil.downloadXlsTemplate(
"Excel/QA/相似零件导入模板.xls",
"导入模版-相似零件导入模板.xls");
}
/**
* 导入Excel简洁版
*/
@PostMapping("/import-excel-simple")
@ApiOperationSupport(order = 10)
@Transactional(rollbackFor = Exception.class)
public R importExcelSimple(@RequestParam("file") MultipartFile file) {
try {
// 1. 快速文件校验
if (file.isEmpty() || !isValidExcelFile(file)) {
return R.fail("请上传有效的Excel文件");
}
// 2. 读取数据
List<DsSimilarPartsVO> list = ExcelUtil.read(file, 0, 1, DsSimilarPartsVO.class);
return R.status(dsSimilarPartsService.importExcelSimple(list));
} catch (Exception e) {
log.error("导入异常", e);
return R.fail("导入失败: " + e.getLocalizedMessage());
}
}
/**
* 快速文件校验
*/
private boolean isValidExcelFile(MultipartFile file) {
if (file == null || file.isEmpty()) {
return false;
}
String fileName = file.getOriginalFilename();
if (StringUtils.isBlank(fileName)) {
return false;
}
String lowerName = fileName.toLowerCase();
return lowerName.endsWith(".xls") || lowerName.endsWith(".xlsx");
}
}

@ -32,12 +32,18 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import lombok.AllArgsConstructor;
import jakarta.validation.Valid;
import org.apache.commons.lang3.StringUtils;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.annotation.IsAdmin;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.dashboard.excel.BsProcessSetExcel;
import org.springblade.desk.quality.util.ExcelExtUtil;
import org.springframework.core.io.Resource;
import org.springframework.http.ResponseEntity;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -53,6 +59,7 @@ import org.springblade.core.tool.constant.BladeConstant;
import java.util.Map;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.multipart.MultipartFile;
/**
* 特殊过程表 控制器
@ -158,4 +165,57 @@ public class DsSpecialProController extends BladeController {
ExcelUtil.export(response, "特殊过程表数据" + DateUtil.time(), "特殊过程表数据表", list, DsSpecialProExcel.class);
}
/**
*
* 导入模版
*/
@GetMapping("/import-template")
@ApiOperationSupport(order = 10)
@Operation(summary = "下载Excel模板", description = "")
public ResponseEntity<Resource> importTemplate() {
return ExcelExtUtil.downloadXlsTemplate(
"Excel/QA/工艺特殊过程项导入模板.xls",
"导入模版-工艺特殊过程项导入模板.xls");
}
/**
* 导入Excel简洁版
*/
@PostMapping("/import-excel-SpecialPro")
@ApiOperationSupport(order = 10)
@Transactional(rollbackFor = Exception.class)
public R importExcelSpecialPro(@RequestParam("file") MultipartFile file) {
try {
// 1. 快速文件校验
if (file.isEmpty() || !isValidExcelFile(file)) {
return R.fail("请上传有效的Excel文件");
}
// 2. 读取数据
List<DsSpecialProExcel> list = ExcelUtil.read(file, 0, 1, DsSpecialProExcel.class);
return R.status(dsSpecialProService.importExcelSpecialPro(list));
} catch (Exception e) {
return R.fail("导入失败: " + e.getLocalizedMessage());
}
}
/**
* 快速文件校验
*/
private boolean isValidExcelFile(MultipartFile file) {
if (file == null || file.isEmpty()) {
return false;
}
String fileName = file.getOriginalFilename();
if (StringUtils.isBlank(fileName)) {
return false;
}
String lowerName = fileName.toLowerCase();
return lowerName.endsWith(".xls") || lowerName.endsWith(".xlsx");
}
}

@ -195,18 +195,22 @@ public class DsTaskingController extends BladeController {
@GetMapping("/taskComplete")
@ApiOperationSupport(order = 4)
@Operation(summary = "任务完成")
public R taskComplete( @RequestParam List<Long> taskIds) {
return R.status(dsTaskingService.taskComplete(taskIds));
public R taskComplete( @RequestParam String taskIds) {
List<Long> longs = Func.toLongList(taskIds);
System.out.println(longs);
return R.status(dsTaskingService.taskComplete(longs));
}
/**
* 任务接收
*/
@PostMapping("/taskReception")
@GetMapping("/taskReception")
@ApiOperationSupport(order = 4)
@Operation(summary = "任务接收")
public R taskReception( @RequestBody Long taskId) {
return R.status(dsTaskingService.taskReception(taskId));
public R taskReception( @RequestParam String taskIds) {
Long Id = Long.valueOf(taskIds);
return R.status(dsTaskingService.taskReception(Id));
}
@ -238,11 +242,28 @@ public class DsTaskingController extends BladeController {
@ApiOperationSupport(order = 1)
@Operation(summary = "工艺编制", description = "传入dsCraft")
public R<DsPartAuthorizedVO> processAuthorized(Long taskId, String rank) {
DsPartAuthorizedVO detail = dsTaskingService.processAuthorized(taskId,rank);
return R.data(detail);
}
/**
* 编制 - 零件 - 保存
*/
@PostMapping("/authorizedPart")
@ApiOperationSupport(order = 1)
@Operation(summary = "工艺编制-零件-保存")
public R<DsPartAuthorizedVO> authorizedPart(
@RequestBody BsCompilationCompletedVO compilationCompleted
) {
DsPartEntity dsPart = compilationCompleted.getDsPart();
List<DsPartEntity> zPartList = compilationCompleted.getPartList();
return R.status(dsTaskingService.authorizedPart(dsPart,zPartList));
}
/**
* 编制 - 工艺编制 - 保存
*/
@ -253,12 +274,10 @@ public class DsTaskingController extends BladeController {
@RequestBody BsCompilationCompletedVO compilationCompleted
) {
DsPartEntity dsPart = compilationCompleted.getDsPart();
List<DsPartEntity> zPartList = compilationCompleted.getPartList();
DsCraftEntity craft = compilationCompleted.getCraft();
List<DsProcessEntity> processList = compilationCompleted.getProcessList();
List<Long> deleteIds = compilationCompleted.getDeleteIds();
return R.status(dsTaskingService.authorizedAccomplish(dsPart,zPartList,craft,processList,deleteIds));
return R.status(dsTaskingService.authorizedAccomplish(craft,processList,deleteIds));
}

@ -26,6 +26,7 @@
package org.springblade.desk.dashboard.excel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
@ -52,59 +53,37 @@ public class BsProcessSetExcel implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ColumnWidth(20)
@ExcelProperty("主键")
private Short id;
/**
* 编码
*/
@ColumnWidth(20)
@ExcelProperty("编码")
@ExcelProperty("工序编码")
private String code;
/**
* 名称
*/
@ColumnWidth(20)
@ExcelProperty("名称")
@ExcelProperty("工序名称")
private String name;
/**
* 标准周期
*/
@ColumnWidth(20)
@ExcelProperty("标准周期")
private BigDecimal cycle;
/**
* 是否主工序
*/
@ColumnWidth(20)
@ExcelProperty("是否主工序")
private String isMain;
/**
* 是否特殊
*/
@ColumnWidth(20)
@ExcelProperty("是否特殊")
private String isSpecial;
/**
* 是否分派
*/
@ColumnWidth(20)
@ExcelProperty("是否分派")
@ExcelProperty("不分派")
private String isDispatch;
/**
* 备注
* 是否特殊
*/
@ColumnWidth(20)
@ExcelProperty("备注")
private String remarks;
@ExcelProperty("特殊")
private String isSpecial;
/**
* 是否删除
* 是否主工序
*/
@ColumnWidth(20)
@ExcelProperty("是否删除")
private Long isDeleted;
@ExcelProperty("主工序")
private String isMain;
}

@ -53,35 +53,35 @@ public class DsSimilarPartsExcel implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ColumnWidth(20)
@ExcelProperty("主键ID")
private BigDecimal id;
// /**
// * 主键ID
// */
// @ColumnWidth(20)
// @ExcelProperty("主键ID")
// private BigDecimal id;
/**
* 零件号
*/
@ColumnWidth(20)
@ExcelProperty("零件")
private BigDecimal partOne;
@ColumnWidth(30)
@ExcelProperty("零件工艺编码")
private String partOne;
/**
* 相似零件
*/
@ColumnWidth(20)
@ExcelProperty("相似零件")
private BigDecimal partTwo;
/**
* 备注
*/
@ColumnWidth(20)
@ExcelProperty("备注")
private String remarks;
/**
* 删除标记
*/
@ColumnWidth(20)
@ExcelProperty("删除标记")
private Long isDeleted;
@ColumnWidth(30)
@ExcelProperty("相似零件工艺编码")
private String partTwo;
// /**
// * 备注
// */
// @ColumnWidth(20)
// @ExcelProperty("备注")
// private String remarks;
// /**
// * 删除标记
// */
// @ColumnWidth(20)
// @ExcelProperty("删除标记")
// private Long isDeleted;
}

@ -53,41 +53,38 @@ public class DsSpecialProExcel implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
* 作业中心外键
*/
@ColumnWidth(20)
@ExcelProperty("主键ID")
private BigDecimal id;
@ExcelProperty("作业中心编码")
private String wcCode;
/**
* 作业中心外键
* 产线编码
*/
@ColumnWidth(20)
@ExcelProperty("作业中心(外键)")
private BigDecimal wcId;
@ExcelProperty("产线编码")
private String equipmentCode;
/**
* 过程项
*/
@ColumnWidth(20)
@ExcelProperty("过程项")
@ExcelProperty("确认名称")
private String proItem;
/**
* 确认条件
*/
@ColumnWidth(20)
@ExcelProperty("确认条件")
@ExcelProperty("确认编号")
private String condition;
/**
* 周期天数
*/
@ColumnWidth(20)
@ExcelProperty("周期天数")
private Long cycle;
/**
* 上次确认日期
*/
@ColumnWidth(20)
@ExcelProperty("上次确认日期")
@ExcelProperty("确认到期日期")
private Date lastDueTime;
/**
* 提前提醒()
@ -99,12 +96,12 @@ public class DsSpecialProExcel implements Serializable {
* 工艺员外键-人员
*/
@ColumnWidth(20)
@ExcelProperty("工艺员(外键-人员)")
private BigDecimal proMan;
@ExcelProperty("工艺员域账户")
private String proMan;
/**
* 备注
*/
@ColumnWidth(20)
@ColumnWidth(40)
@ExcelProperty("备注")
private String remarks;

@ -25,11 +25,34 @@
<result column="UPDATE_USER" property="updateUser"/>
<result column="REMARKS" property="remarks"/>
<result column="STATUS" property="status"/>
<result column="ADD_QUANTITY" property="addQuantity"/>
<result column="ADD_QUANTITY_MULTIPLE" property="addQuantityMultiple"/>
<result column="CUMULATIVE_TRIGGER_VALUE" property="cumulativeTriggerValue"/>
<result column="CURRENT_VALUE" property="currentValue"/>
<result column="CUMULATIVE_INITIAL_VALUE" property="cumulativeInitialValue"/>
</resultMap>
<select id="selectDsBatchPreservePlanPage" resultMap="dsBatchPreservePlanResultMap">
<select id="selectDsBatchPreservePlanPage" resultType="org.springblade.desk.dashboard.pojo.vo.DsBatchPreservePlanVO">
select * from DS_BATCH_PRESERVE_PLAN where is_deleted = 0
<if test="dsBatchPreservePlan.bbpType !=null ">
and BBP_TYPE = #{dsBatchPreservePlan.bbpType}
</if>
<if test="dsBatchPreservePlan.approvalStatus !=null ">
and APPROVAL_STATUS = #{dsBatchPreservePlan.approvalStatus}
</if>
<if test="dsBatchPreservePlan.wcId !=null ">
and WC_ID = #{dsBatchPreservePlan.wcId}
</if>
<if test="dsBatchPreservePlan.batchNo !=null and dsBatchPreservePlan.batchNo !=''">
AND BATCH_NO LIKE '%' || #{dsBatchPreservePlan.batchNo} || '%'
</if>
<if test="dsBatchPreservePlan.preserveContent !=null and dsBatchPreservePlan.preserveContent !=''">
AND PRESERVE_CONTENT LIKE '%' || #{dsBatchPreservePlan.preserveContent} || '%'
</if>
<if test="dsBatchPreservePlan.ruleType !=null ">
and RULE_TYPE = #{dsBatchPreservePlan.ruleType}
</if>
</select>
@ -37,4 +60,22 @@
SELECT * FROM DS_BATCH_PRESERVE_PLAN ${ew.customSqlSegment}
</select>
<select id="queryTodayPlanData"
resultType="org.springblade.desk.dashboard.pojo.entity.DsBatchPreservePlanEntity">
select * from DS_BATCH_PRESERVE_PLAN where is_deleted = 0
and BBP_TYPE = #{bbpType}
and APPROVAL_STATUS = #{approvalStatus}
and ARRANGE_TIME
BETWEEN #{startTime} AND #{endTime}
</select>
<select id="queryTodayPeriodicalData"
resultType="org.springblade.desk.dashboard.pojo.entity.DsBatchPreservePlanEntity">
select * from DS_BATCH_PRESERVE_PLAN where is_deleted = 0
and BBP_TYPE in
<foreach collection="bbpTypeList" item="bbpType" open="(" close=")" separator=",">
#{bbpType}
</foreach>
</select>
</mapper>

@ -27,8 +27,25 @@
</resultMap>
<select id="selectDsBatchPreserveTaskPage" resultMap="dsBatchPreserveTaskResultMap">
select * from DS_BATCH_PRESERVE_TASK where is_deleted = 0
<select id="selectDsBatchPreserveTaskPage" resultType="org.springblade.desk.dashboard.pojo.vo.DsBatchPreserveTaskVO">
select b.WC_ID,b.BATCH_NO,a.* from DS_BATCH_PRESERVE_TASK a
left join DS_BATCH_PRESERVE_PLAN b
on a.BPP_ID = b.ID where 1=1
<if test="dsBatchPreserveTask.wcId != null">
and b.WC_ID = #{dsBatchPreserveTask.wcId}
</if>
<if test="dsBatchPreserveTask.batchNo != null">
and b.BATCH_NO = #{dsBatchPreserveTask.batchNo}
</if>
<if test="dsBatchPreserveTask.taskStatus != null">
and a.TASK_STATUS = #{dsBatchPreserveTask.taskStatus}
</if>
<if test="dsBatchPreserveTask.taskStatus == null">
and a.TASK_STATUS in
<foreach collection="taskStatusList" item="taskStatus" open="(" close=")" separator=",">
#{taskStatus}
</foreach>
</if>
</select>

@ -21,8 +21,11 @@
</resultMap>
<select id="selectDsBatchWorkCenterSetPage" resultMap="dsBatchWorkCenterSetResultMap">
<select id="selectDsBatchWorkCenterSetPage" resultType="org.springblade.desk.dashboard.pojo.vo.DsBatchWorkCenterSetVO">
select * from DS_BATCH_WORK_CENTER_SET where is_deleted = 0
<if test="dsBatchWorkCenterSet.wcId != null ">
and WC_ID = #{dsBatchWorkCenterSet.wcId}
</if>
</select>

@ -60,4 +60,5 @@ public interface BsCraftAbilityMapper extends BaseMapper<BsCraftAbilityEntity> {
*/
List<BsCraftAbilityExcel> exportBsCraftAbility(@Param("ew") Wrapper<BsCraftAbilityEntity> queryWrapper);
List<BsCraftAbilityEntity> selectAll();
}

@ -62,4 +62,6 @@ public interface BsProcessSetMapper extends BaseMapper<BsProcessSetEntity> {
List<BsProcessSetExcel> exportBsProcessSet(@Param("ew") Wrapper<BsProcessSetEntity> queryWrapper);
BsProcessSetEntity selectBsProcessSetByProcessCode(@Param("processCode")String processCode);
List<BsProcessSetVO> selectAll();
}

@ -61,4 +61,6 @@ public interface BsWorkCenterMapper extends BaseMapper<BsWorkCenterEntity> {
List<BsWorkCenterExcel> exportBsWorkCenter(@Param("ew") Wrapper<BsWorkCenterEntity> queryWrapper);
List<BsWorkCenterVO> getList();
BsWorkCenterEntity selectBsWorkCenterByWcCode(@Param("wcCode")String wcCode);
}

@ -26,5 +26,8 @@
<select id="exportBsCraftAbility" resultType="org.springblade.desk.dashboard.excel.BsCraftAbilityExcel">
SELECT * FROM BS_CRAFT_ABILITY ${ew.customSqlSegment}
</select>
<select id="selectAll" resultType="org.springblade.desk.dashboard.pojo.entity.BsCraftAbilityEntity">
select * from BS_CRAFT_ABILITY where is_deleted = 0
</select>
</mapper>

@ -32,6 +32,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
/**
@ -49,7 +51,8 @@ public interface DsBatchPreservePlanMapper extends BaseMapper<DsBatchPreservePla
* @param dsBatchPreservePlan 查询参数
* @return List<DsBatchPreservePlanVO>
*/
List<DsBatchPreservePlanVO> selectDsBatchPreservePlanPage(IPage page, DsBatchPreservePlanVO dsBatchPreservePlan);
List<DsBatchPreservePlanVO> selectDsBatchPreservePlanPage(IPage page,
@Param("dsBatchPreservePlan")DsBatchPreservePlanVO dsBatchPreservePlan);
/**
@ -60,4 +63,23 @@ public interface DsBatchPreservePlanMapper extends BaseMapper<DsBatchPreservePla
*/
List<DsBatchPreservePlanExcel> exportDsBatchPreservePlan(@Param("ew") Wrapper<DsBatchPreservePlanEntity> queryWrapper);
/**
* 查询今天要发起的计划类得任务
* @param bbpType
* @param approvalStatus
* @param startTime
* @param endTime
* @return
*/
List<DsBatchPreservePlanEntity> queryTodayPlanData(@Param("bbpType")Integer bbpType,
@Param("approvalStatus")Integer approvalStatus,
@Param("startTime")Date startTime,
@Param("endTime")Date endTime);
/**
* 查询今天要发起的定期类得任务
* @param bbpTypeList
* @return
*/
List<DsBatchPreservePlanEntity> queryTodayPeriodicalData(@Param("bbpTypeList")List<Integer> bbpTypeList);
}

@ -47,9 +47,12 @@ public interface DsBatchPreserveTaskMapper extends BaseMapper<DsBatchPreserveTas
*
* @param page 分页参数
* @param dsBatchPreserveTask 查询参数
* @param taskStatusList
* @return List<DsBatchPreserveTaskVO>
*/
List<DsBatchPreserveTaskVO> selectDsBatchPreserveTaskPage(IPage page, DsBatchPreserveTaskVO dsBatchPreserveTask);
List<DsBatchPreserveTaskVO> selectDsBatchPreserveTaskPage(IPage page,
@Param("dsBatchPreserveTask")DsBatchPreserveTaskVO dsBatchPreserveTask,
@Param("taskStatusList")List<Integer> taskStatusList);
/**

@ -49,7 +49,8 @@ public interface DsBatchWorkCenterSetMapper extends BaseMapper<DsBatchWorkCenter
* @param dsBatchWorkCenterSet 查询参数
* @return List<DsBatchWorkCenterSetVO>
*/
List<DsBatchWorkCenterSetVO> selectDsBatchWorkCenterSetPage(IPage page, DsBatchWorkCenterSetVO dsBatchWorkCenterSet);
List<DsBatchWorkCenterSetVO> selectDsBatchWorkCenterSetPage(IPage page,
@Param("dsBatchWorkCenterSet")DsBatchWorkCenterSetVO dsBatchWorkCenterSet);
/**

@ -49,7 +49,8 @@ public interface DsMainSaltAddQuantityMapper extends BaseMapper<DsMainSaltAddQua
* @param dsMainSaltAddQuantity 查询参数
* @return List<DsMainSaltAddQuantityVO>
*/
List<DsMainSaltAddQuantityVO> selectDsMainSaltAddQuantityPage(IPage page, DsMainSaltAddQuantityVO dsMainSaltAddQuantity);
List<DsMainSaltAddQuantityVO> selectDsMainSaltAddQuantityPage(IPage page,
@Param("dsMainSaltAddQuantity")DsMainSaltAddQuantityVO dsMainSaltAddQuantity);
/**

@ -23,8 +23,18 @@
</resultMap>
<select id="selectDsMainSaltAddQuantityPage" resultMap="dsMainSaltAddQuantityResultMap">
<select id="selectDsMainSaltAddQuantityPage" resultType="org.springblade.desk.dashboard.pojo.vo.DsMainSaltAddQuantityVO">
select * from DS_MAIN_SALT_ADD_QUANTITY where is_deleted = 0
<if test="dsMainSaltAddQuantity.wcId != null">
and WC_ID = #{dsMainSaltAddQuantity.wcId}
</if>
<if test="dsMainSaltAddQuantity.batchNo != null and dsMainSaltAddQuantity.batchNo !=''">
AND BATCH_NO LIKE '%' || #{dsMainSaltAddQuantity.batchNo} || '%'
</if>
<if test="dsMainSaltAddQuantity.startDate != null and dsMainSaltAddQuantity.endDate != null">
and ADD_TIME BETWEEN TO_DATE(#{dsMainSaltAddQuantity.startDate}, 'YYYY-MM-DD')
AND TO_DATE(#{dsMainSaltAddQuantity.endDate}, 'YYYY-MM-DD')
</if>
</select>

@ -23,7 +23,7 @@
<result column="ELE_RATE" property="eleRate"/>
<result column="PH_VALUE" property="phValue"/>
<result column="NI_VALUE" property="niValue"/>
<result column="V_SPEED" property="vSpeed"/>
<result column="VI_SPEED" property="viSpeed"/>
<result column="CYROPACTOR_CONTROL" property="cyropactorControl"/>
<result column="TEAM" property="team"/>
<result column="IS_CHECKOUT" property="isCheckout"/>
@ -44,5 +44,8 @@
select * from BS_PROCESS_SET where is_deleted = 0
and CODE = #{processCode}
</select>
<select id="selectAll" resultType="org.springblade.desk.dashboard.pojo.vo.BsProcessSetVO">
select * from BS_PROCESS_SET where is_deleted = 0
</select>
</mapper>

@ -8,7 +8,6 @@
<result column="UPDATE_USER" property="updateUser"/>
<result column="REMARKS" property="remarks"/>
<result column="STATUS" property="status"/>
<result column="NEW_COLUMN" property="newColumn"/>
<result column="ID" property="id"/>
<result column="REWORK_CODE" property="reworkCode"/>
<result column="REWORK_NO" property="reworkNo"/>
@ -30,6 +29,7 @@
<result column="CREATE_USER" property="createUser"/>
<result column="CREATE_DEPT" property="createDept"/>
<result column="TRIAL_NO" property="trialNo"/>
<result column="PPS_NAME" property="ppsName"/>
</resultMap>

@ -21,6 +21,9 @@
<result column="STATUS" property="status"/>
<result column="OC_ID" property="ocId"/>
<result column="OC_NAME" property="ocName"/>
<result column="EQUIPMENT_CODE" property="equipmentCode"/>
<result column="equipment_id" property="equipmentId"/>
<result column="equipment_name" property="equipmentName"/>
</resultMap>

@ -23,6 +23,8 @@
<result column="UPDATE_USER" property="updateUser"/>
<result column="REMARKS" property="remarks"/>
<result column="STATUS" property="status"/>
<result column="equipment_id" property="equipmentId"/>
<result column="equipment_name" property="equipmentName"/>
</resultMap>

@ -45,7 +45,7 @@
<if test="dsTasking.partCode != null ">
and PART_CODE = #{dsTasking.partCode}
</if>
ORDER BY CREATE_TIME DESC
</select>
@ -78,6 +78,7 @@
#{taskStatus}
</foreach>
</if>
ORDER BY CREATE_TIME DESC
</select>
<select id="selectDsTaskingByPartCodeAndVersion"

@ -46,5 +46,10 @@
<select id="getList" resultType="org.springblade.desk.dashboard.pojo.vo.BsWorkCenterVO">
select * from BS_WORK_CENTER where is_deleted = 0
</select>
<select id="selectBsWorkCenterByWcCode"
resultType="org.springblade.desk.dashboard.pojo.entity.BsWorkCenterEntity">
select * from BS_WORK_CENTER where is_deleted = 0
and WC_CODE = #{wcCode}
</select>
</mapper>

@ -25,6 +25,7 @@
*/
package org.springblade.desk.dashboard.pojo.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springblade.desk.dashboard.pojo.entity.DsBatchPreservePlanEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -42,4 +43,13 @@ public class DsBatchPreservePlanDTO extends DsBatchPreservePlanEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 是否通过
*/
@Schema(description = "是否通过")
private Boolean isPass;
}

@ -25,6 +25,8 @@
*/
package org.springblade.desk.dashboard.pojo.dto;
import com.alibaba.fastjson.JSONArray;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springblade.desk.dashboard.pojo.entity.DsBatchPreserveTaskEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -42,4 +44,10 @@ public class DsBatchPreserveTaskDTO extends DsBatchPreserveTaskEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 槽液任务ID
*/
@Schema(description = "槽液任务ID")
private String bptIdList;
}

@ -28,7 +28,10 @@ package org.springblade.desk.dashboard.pojo.dto;
import org.springblade.desk.dashboard.pojo.entity.DsMainSaltAddQuantityEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.dashboard.pojo.vo.DsMainSaltAddQuantityVO;
import java.io.Serial;
import java.util.List;
/**
* 主盐添加量表 数据传输对象实体类
@ -42,4 +45,5 @@ public class DsMainSaltAddQuantityDTO extends DsMainSaltAddQuantityEntity {
@Serial
private static final long serialVersionUID = 1L;
private List<DsMainSaltAddQuantityVO> mainSaltAddQuantityList;
}

@ -51,14 +51,14 @@ public class BsProcessSetEntity extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 编码
* 工序编码
*/
@Schema(description = "编码")
@Schema(description = "工序编码")
private String code;
/**
* 名称
* 工序名称
*/
@Schema(description = "名称")
@Schema(description = "工序名称")
private String name;
/**
* 标准周期
@ -68,17 +68,17 @@ public class BsProcessSetEntity extends BaseEntity {
/**
* 是否主工序
*/
@Schema(description = "是否主工序")
@Schema(description = "主工序")
private String isMain;
/**
* 是否特殊
*/
@Schema(description = "是否特殊")
@Schema(description = "特殊")
private String isSpecial;
/**
* 是否分派
*/
@Schema(description = "是否分派")
@Schema(description = "分派")
private String isDispatch;
/**
* 备注
@ -114,7 +114,7 @@ public class BsProcessSetEntity extends BaseEntity {
* 转速/振频
*/
@Schema(description = "转速/振频")
private String vSpeed;
private String viSpeed;
/**
* 整流机控制模式

@ -69,7 +69,7 @@ public class DsBatchPreservePlanEntity extends BaseEntity {
* 作业中心外键
*/
@Schema(description = "作业中心(外键)")
private BigDecimal wcId;
private Long wcId;
/**
* 维护时间
*/
@ -79,17 +79,17 @@ public class DsBatchPreservePlanEntity extends BaseEntity {
* 维护人外键-人员
*/
@Schema(description = "维护人(外键-人员)")
private BigDecimal keepMan;
private Long keepMan;
/**
* 审批状态
*/
@Schema(description = "审批状态")
private Long approvalStatus;
private Integer approvalStatus;
/**
* 任务类型
*/
@Schema(description = "任务类型")
private Long bbpType;
private Integer bbpType;
/**
* 上次任务生产时间
*/
@ -121,4 +121,40 @@ public class DsBatchPreservePlanEntity extends BaseEntity {
@Schema(description = "备注")
private String remarks;
/**
* 添加量
*/
@Schema(description = "添加量")
private Integer addQuantity;
/**
* 添加量倍数
*/
@Schema(description = "添加量倍数")
private Integer addQuantityMultiple;
/**
* 累计触发值
*/
@Schema(description = "累计触发值")
private Integer cumulativeTriggerValue;
/**
* 当前值累计
*/
@Schema(description = "当前值(累计)")
private Integer currentValue;
/**
* 累计初始值
*/
@Schema(description = "累计初始值")
private Integer cumulativeInitialValue;
/**
* 审核意见
*/
@Schema(description = "审核意见")
private String approvalOpinion;
}

@ -50,21 +50,12 @@ public class DsBatchPreserveTaskEntity extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 备注
*/
@Schema(description = "备注")
private String remarks;
/**
* 主键ID
*/
@Schema(description = "主键ID")
private BigDecimal bptId;
/**
* 槽液维护计划外键
*/
@Schema(description = "槽液维护计划(外键)")
private BigDecimal bppId;
private Long bppId;
/**
* 任务产生时间
*/
@ -84,7 +75,7 @@ public class DsBatchPreserveTaskEntity extends BaseEntity {
* 完成人外键-人员
*/
@Schema(description = "完成人(外键-人员)")
private BigDecimal finishMan;
private Long finishMan;
/**
* 完成时间
*/
@ -99,7 +90,7 @@ public class DsBatchPreserveTaskEntity extends BaseEntity {
* 审核人外键-人员
*/
@Schema(description = "审核人(外键-人员)")
private BigDecimal auditMan;
private Long auditMan;
/**
* 审核时间
*/
@ -121,4 +112,10 @@ public class DsBatchPreserveTaskEntity extends BaseEntity {
@Schema(description = "维护内容")
private String preserveContent;
/**
* 备注
*/
@Schema(description = "备注")
private String remarks;
}

@ -61,12 +61,12 @@ public class DsBatchWorkCenterSetEntity extends BaseEntity {
@Schema(description = "设备(外键)")
private Long device;
/**
* 工艺id
* 工艺
*/
@Schema(description = "工艺id")
private String craftManId;
/**
* 工艺名称工艺员
* 工艺名称工艺员
*/
@Schema(description = "工艺名称")
private String craftManName;
@ -79,7 +79,7 @@ public class DsBatchWorkCenterSetEntity extends BaseEntity {
* 维护人外键-人员
*/
@Schema(description = "维护人(外键-人员)")
private BigDecimal keepMan;
private Long keepMan;
/**
* 备注
*/

@ -54,7 +54,7 @@ public class DsMainSaltAddQuantityEntity extends BaseEntity {
* 作业中心外键
*/
@Schema(description = "作业中心(外键)")
private BigDecimal wcId;
private Long wcId;
/**
* 槽号
*/
@ -79,7 +79,7 @@ public class DsMainSaltAddQuantityEntity extends BaseEntity {
* 维护人外键-人员
*/
@Schema(description = "维护人(外键-人员)")
private BigDecimal keepMan;
private Long keepMan;
/**
* 类型1-日常2-累计
*/

@ -25,12 +25,14 @@
*/
package org.springblade.desk.dashboard.pojo.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import java.util.Date;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial;
@ -44,7 +46,7 @@ import java.io.Serial;
@TableName("DS_SPECIAL_PRO")
@Schema(description = "DsSpecialPro对象")
@EqualsAndHashCode(callSuper = true)
public class DsSpecialProEntity extends TenantEntity {
public class DsSpecialProEntity extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
@ -53,7 +55,7 @@ public class DsSpecialProEntity extends TenantEntity {
* 作业中心外键
*/
@Schema(description = "作业中心(外键)")
private BigDecimal wcId;
private Long wcId;
/**
* 过程项
*/
@ -72,6 +74,7 @@ public class DsSpecialProEntity extends TenantEntity {
/**
* 上次确认日期
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@Schema(description = "上次确认日期")
private Date lastDueTime;
/**
@ -83,7 +86,7 @@ public class DsSpecialProEntity extends TenantEntity {
* 工艺员外键-人员
*/
@Schema(description = "工艺员(外键-人员)")
private BigDecimal proMan;
private Long proMan;
/**
* 备注
*/
@ -101,4 +104,22 @@ public class DsSpecialProEntity extends TenantEntity {
@Schema(description = "外协名称")
private String ocName;
/**
* 产线编码
*/
@Schema(description = "产线编码")
private String equipmentCode;
/**
* 设备ID
*/
@Schema(description = "设备ID")
private Long equipmentId;
/**
* 设备名称
*/
@Schema(description = "设备名称")
private Long equipmentName;
}

@ -111,4 +111,16 @@ public class DsTaskBillEntity extends BaseEntity {
@Schema(description = "备注")
private String remarks;
/**
* 设备ID
*/
@Schema(description = "设备ID")
private Long equipmentId;
/**
* 设备名称
*/
@Schema(description = "设备名称")
private Long equipmentName;
}

@ -55,11 +55,7 @@ public class PrReworkProcessEntity extends BaseEntity {
*/
@Schema(description = "备注")
private String remarks;
/**
*
*/
@Schema(description = "")
private BigDecimal newColumn;
/**
* 返工单号
*/
@ -147,4 +143,10 @@ public class PrReworkProcessEntity extends BaseEntity {
@Schema(description = "实验编号")
private String trialNo;
/**
* 工序名称
*/
@Schema(description = "工序名称")
private String ppsName;
}

@ -25,6 +25,7 @@
*/
package org.springblade.desk.dashboard.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springblade.desk.dashboard.pojo.entity.DsBatchPreservePlanEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -42,4 +43,16 @@ public class DsBatchPreservePlanVO extends DsBatchPreservePlanEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 作业中心
*/
@Schema(description = "作业中心")
private String wcName;
/**
* 维护人
*/
@Schema(description = "维护人")
private String keepManStr;
}

@ -25,6 +25,7 @@
*/
package org.springblade.desk.dashboard.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springblade.desk.dashboard.pojo.entity.DsBatchPreserveTaskEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -42,4 +43,34 @@ public class DsBatchPreserveTaskVO extends DsBatchPreserveTaskEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 维护内容
*/
@Schema(description = "维护内容")
private String accumulateRelevantInfo;
/**
* 作业中心ID
*/
@Schema(description = "作业中心ID")
private Long wcId;
/**
* 作业中心名称
*/
@Schema(description = "作业中心名称")
private String wcName;
/**
* 槽号
*/
@Schema(description = "槽号")
private String batchNo;
/**
* 责任人
*/
@Schema(description = "责任人")
private String finishManStr;
}

@ -25,6 +25,7 @@
*/
package org.springblade.desk.dashboard.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springblade.desk.dashboard.pojo.entity.DsBatchWorkCenterSetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -42,4 +43,16 @@ public class DsBatchWorkCenterSetVO extends DsBatchWorkCenterSetEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 维护人外键-人员
*/
@Schema(description = "维护人")
private String keepManStr;
/**
*作业中心名称
*/
@Schema(description = "作业中心名称")
private String wcName;
}

@ -25,6 +25,7 @@
*/
package org.springblade.desk.dashboard.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springblade.desk.dashboard.pojo.entity.DsMainSaltAddQuantityEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -42,4 +43,22 @@ public class DsMainSaltAddQuantityVO extends DsMainSaltAddQuantityEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 开始时间
*/
@Schema(description = "开始时间")
private String startDate;
/**
* 结束时间
*/
@Schema(description = "结束时间")
private String endDate;
/**
* 作业中心名称
*/
@Schema(description = "作业中心名称")
private String wcName;
}

@ -49,4 +49,9 @@ public class DsPartSynthesisVO{
*/
private List<DsPartEntity> dsPartEntities;
/**
* 零件版本号
*/
private String partVersion;
}

@ -46,13 +46,13 @@ public class DsSimilarPartsVO extends DsSimilarPartsEntity {
/**
* 零件号
*/
@Schema(description = "零件")
@Schema(description = "零件工艺编码")
private String partOneCode;
/**
* 相似零件
*/
@Schema(description = "相似零件")
@Schema(description = "相似零件工艺编码")
private String partTwoCode;

@ -58,4 +58,9 @@ public interface IBsCraftAbilityService extends BaseService<BsCraftAbilityEntity
*/
List<BsCraftAbilityExcel> exportBsCraftAbility(Wrapper<BsCraftAbilityEntity> queryWrapper);
/**
* 获取所有工艺能力
* @return
*/
List<BsCraftAbilityEntity> getCraftAbilityList();
}

@ -73,4 +73,17 @@ public interface IBsProcessSetService extends BaseService<BsProcessSetEntity> {
* @return
*/
BsProcessSetEntity selectBsProcessSetByProcessCode(String processCode);
/**
* 导入
* @param list
* @return
*/
boolean importExcelProcessSet(List<BsProcessSetExcel> list);
/**
* 获取所有工序
* @return
*/
List<BsProcessSetVO> getProcessSetList();
}

@ -63,4 +63,11 @@ public interface IBsWorkCenterService extends BaseService<BsWorkCenterEntity> {
* @return
*/
List<BsWorkCenterVO> getList();
/**
* 根据作业中心编码查询作业中心
* @param wcCode
* @return
*/
BsWorkCenterEntity selectBsWorkCenterByWcCode(String wcCode);
}

@ -26,6 +26,7 @@
package org.springblade.desk.dashboard.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import org.springblade.desk.dashboard.pojo.dto.DsBatchPreservePlanDTO;
import org.springblade.desk.dashboard.pojo.entity.DsBatchPreservePlanEntity;
import org.springblade.desk.dashboard.pojo.vo.DsBatchPreservePlanVO;
import org.springblade.desk.dashboard.excel.DsBatchPreservePlanExcel;
@ -58,4 +59,51 @@ public interface IDsBatchPreservePlanService extends BaseService<DsBatchPreserve
*/
List<DsBatchPreservePlanExcel> exportDsBatchPreservePlan(Wrapper<DsBatchPreservePlanEntity> queryWrapper);
/**
* 新增和修改
* @param dsBatchPreservePlan
* @return
*/
boolean saveOrUpdateBatchPreservePlan(List<DsBatchPreservePlanEntity> dsBatchPreservePlan);
/**
* 主任审批
* @param dsBatchPreservePlan
* @return
*/
boolean directorApproval(DsBatchPreservePlanDTO dsBatchPreservePlan);
/**
* 厂长审核
* @param dsBatchPreservePlan
* @return
*/
boolean factoryApproval(DsBatchPreservePlanDTO dsBatchPreservePlan);
/**
* <p>方法描述: 槽液精细化-计划类-任务发起 </p >
* <p>方法名: createPlanClassTask </p >
*
* @param
* @return void
*/
void createPlanClassTask();
/**
* <p>方法描述: 槽液精细化-定期类-任务发起 </p >
* <p>方法名: createPlanClassTask </p >
*
* @param
* @return void
*/
void createPeriodicalClassTask();
/**
* <p>方法描述: 创建槽液精细化-累计类-任务发起 </p >
* <p>方法名: createAccumulateClassTask </p >
*
* @param
* @return void
*/
void createAccumulateClassTask();
}

@ -31,6 +31,8 @@ import org.springblade.desk.dashboard.pojo.vo.DsBatchPreserveTaskVO;
import org.springblade.desk.dashboard.excel.DsBatchPreserveTaskExcel;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import java.math.BigDecimal;
import java.util.List;
/**
@ -58,4 +60,17 @@ public interface IDsBatchPreserveTaskService extends BaseService<DsBatchPreserve
*/
List<DsBatchPreserveTaskExcel> exportDsBatchPreserveTask(Wrapper<DsBatchPreserveTaskEntity> queryWrapper);
/**
* 批量维护
* @param dsBatchPreserveTaskEntityList
* @return
*/
boolean batchMaintain( List<DsBatchPreserveTaskEntity> dsBatchPreserveTaskEntityList);
/**
* 批量审核
* @param dsBatchPreserveTaskEntityList
* @return
*/
boolean batchApproval(List<DsBatchPreserveTaskEntity> dsBatchPreserveTaskEntityList);
}

@ -58,4 +58,10 @@ public interface IDsBatchWorkCenterSetService extends BaseService<DsBatchWorkCen
*/
List<DsBatchWorkCenterSetExcel> exportDsBatchWorkCenterSet(Wrapper<DsBatchWorkCenterSetEntity> queryWrapper);
/**
* 新增修改
* @param dsBatchWorkCenterSet
* @return
*/
boolean saveBatchWorkCenterSet(DsBatchWorkCenterSetEntity dsBatchWorkCenterSet);
}

@ -26,6 +26,7 @@
package org.springblade.desk.dashboard.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import org.springblade.desk.dashboard.pojo.dto.DsMainSaltAddQuantityDTO;
import org.springblade.desk.dashboard.pojo.entity.DsMainSaltAddQuantityEntity;
import org.springblade.desk.dashboard.pojo.vo.DsMainSaltAddQuantityVO;
import org.springblade.desk.dashboard.excel.DsMainSaltAddQuantityExcel;
@ -58,4 +59,10 @@ public interface IDsMainSaltAddQuantityService extends BaseService<DsMainSaltAdd
*/
List<DsMainSaltAddQuantityExcel> exportDsMainSaltAddQuantity(Wrapper<DsMainSaltAddQuantityEntity> queryWrapper);
/**
* 新增或修改
* @param mainSaltAddQuantityList
* @return
*/
boolean saveOrUpdateMainSaltAddQuantity(List<DsMainSaltAddQuantityVO> mainSaltAddQuantityList);
}

@ -58,4 +58,10 @@ public interface IDsSimilarPartsService extends BaseService<DsSimilarPartsEntity
*/
List<DsSimilarPartsExcel> exportDsSimilarParts(Wrapper<DsSimilarPartsEntity> queryWrapper);
/**
* 导入
* @param list
* @return
*/
boolean importExcelSimple(List<DsSimilarPartsVO> list);
}

@ -58,4 +58,10 @@ public interface IDsSpecialProService extends BaseService<DsSpecialProEntity> {
*/
List<DsSpecialProExcel> exportDsSpecialPro(Wrapper<DsSpecialProEntity> queryWrapper);
/**
* 导入
* @param list
* @return
*/
boolean importExcelSpecialPro(List<DsSpecialProExcel> list);
}

@ -100,7 +100,7 @@ public interface IDsTaskingService extends BaseService<DsTaskingEntity> {
boolean timeoutUntreated();
/**
* 任务处理列表
* 任务处理列表
* @param page
* @param dsTasking
* @return
@ -152,14 +152,12 @@ public interface IDsTaskingService extends BaseService<DsTaskingEntity> {
/**
* 工艺编制 完成
* @param dsPart 零件
* @param zPartList 子件集合
* @param craft 工艺
* @param processList 工序
* @param deleteIds 删除ID
* @return
*/
boolean authorizedAccomplish(DsPartEntity dsPart, List<DsPartEntity> zPartList, DsCraftEntity craft, List<DsProcessEntity> processList, List<Long> deleteIds);
boolean authorizedAccomplish( DsCraftEntity craft, List<DsProcessEntity> processList, List<Long> deleteIds);
/**
* 任务处理 编制 项目保存
@ -214,4 +212,12 @@ public interface IDsTaskingService extends BaseService<DsTaskingEntity> {
* @return
*/
DsPartAuthorizedVO craftDetail(Long partId, String partVersion, String rank);
/**
* 零件保存
* @param dsPart
* @param zPartList
* @return
*/
boolean authorizedPart(DsPartEntity dsPart, List<DsPartEntity> zPartList);
}

@ -30,6 +30,7 @@ import org.springblade.desk.dashboard.pojo.vo.BsCraftAbilityVO;
import org.springblade.desk.dashboard.excel.BsCraftAbilityExcel;
import org.springblade.desk.dashboard.mapper.BsCraftAbilityMapper;
import org.springblade.desk.dashboard.service.IBsCraftAbilityService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -45,6 +46,11 @@ import java.util.List;
@Service
public class BsCraftAbilityServiceImpl extends BaseServiceImpl<BsCraftAbilityMapper, BsCraftAbilityEntity> implements IBsCraftAbilityService {
@Autowired
BsCraftAbilityMapper craftAbilityMapper;
@Override
public IPage<BsCraftAbilityVO> selectBsCraftAbilityPage(IPage<BsCraftAbilityVO> page, BsCraftAbilityVO bsCraftAbility) {
return page.setRecords(baseMapper.selectBsCraftAbilityPage(page, bsCraftAbility));
@ -60,4 +66,9 @@ public class BsCraftAbilityServiceImpl extends BaseServiceImpl<BsCraftAbilityMap
return bsCraftAbilityList;
}
@Override
public List<BsCraftAbilityEntity> getCraftAbilityList() {
return craftAbilityMapper.selectAll();
}
}

@ -42,8 +42,10 @@ import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* 工序设置表 服务实现类
@ -135,4 +137,38 @@ public class BsProcessSetServiceImpl extends BaseServiceImpl<BsProcessSetMapper,
return bsProcessSetMapper.selectBsProcessSetByProcessCode(processCode);
}
@Override
public boolean importExcelProcessSet(List<BsProcessSetExcel> list) {
if (CollectionUtils.isEmpty(list)) {
throw new ServiceException("Excel文件中没有数据");
}
List<BsProcessSetEntity> processSetList = new ArrayList<>();
for (BsProcessSetExcel bsProcessSet : list) {
if(null == bsProcessSet.getCode() || null == bsProcessSet.getName()){
throw new ServiceException("工序编码或工序名称不能为空");
}
BsProcessSetEntity processSetEntity = bsProcessSetMapper.selectBsProcessSetByProcessCode(bsProcessSet.getCode());
if(null != processSetEntity){
throw new ServiceException("工序编码: "+bsProcessSet.getCode()+" 已存在不允许添加");
}
BsProcessSetEntity process = new BsProcessSetEntity();
process.setCode(bsProcessSet.getCode());
process.setName(bsProcessSet.getName());
process.setIsDispatch("是".equals(bsProcessSet.getIsDispatch())?"1":"2");
process.setIsSpecial("是".equals(bsProcessSet.getIsSpecial())?"1":"2");
process.setIsMain("是".equals(bsProcessSet.getIsMain())?"1":"2");
processSetList.add(process);
}
saveBatch(processSetList);
return true;
}
@Override
public List<BsProcessSetVO> getProcessSetList() {
List<BsProcessSetVO> processSetVOList = bsProcessSetMapper.selectAll();
return processSetVOList;
}
}

@ -69,4 +69,9 @@ public class BsWorkCenterServiceImpl extends BaseServiceImpl<BsWorkCenterMapper,
return workCenterMapper.getList();
}
@Override
public BsWorkCenterEntity selectBsWorkCenterByWcCode(String wcCode) {
return workCenterMapper.selectBsWorkCenterByWcCode(wcCode);
}
}

@ -25,16 +25,29 @@
*/
package org.springblade.desk.dashboard.service.impl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.desk.dashboard.constant.BatchConstant;
import org.springblade.desk.dashboard.pojo.dto.DsBatchPreservePlanDTO;
import org.springblade.desk.dashboard.pojo.entity.BsWorkCenterEntity;
import org.springblade.desk.dashboard.pojo.entity.DsBatchPreservePlanEntity;
import org.springblade.desk.dashboard.pojo.entity.DsBatchPreserveTaskEntity;
import org.springblade.desk.dashboard.pojo.vo.DsBatchPreservePlanVO;
import org.springblade.desk.dashboard.excel.DsBatchPreservePlanExcel;
import org.springblade.desk.dashboard.mapper.DsBatchPreservePlanMapper;
import org.springblade.desk.dashboard.service.IBsWorkCenterService;
import org.springblade.desk.dashboard.service.IDsBatchPreservePlanService;
import org.springblade.desk.dashboard.service.IDsBatchPreserveTaskService;
import org.springblade.desk.dashboard.utils.DateUtils;
import org.springblade.system.feign.IUserClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import java.util.List;
import org.springframework.util.CollectionUtils;
import java.util.*;
/**
* 槽液维护计划表 服务实现类
@ -45,9 +58,34 @@ import java.util.List;
@Service
public class DsBatchPreservePlanServiceImpl extends BaseServiceImpl<DsBatchPreservePlanMapper, DsBatchPreservePlanEntity> implements IDsBatchPreservePlanService {
@Autowired
IBsWorkCenterService workCenterService;
@Autowired
IUserClient userClient;
@Autowired
DsBatchPreservePlanMapper batchPreservePlanMapper;
@Autowired
@Lazy
IDsBatchPreserveTaskService batchPreserveTaskService;
@Override
public IPage<DsBatchPreservePlanVO> selectDsBatchPreservePlanPage(IPage<DsBatchPreservePlanVO> page, DsBatchPreservePlanVO dsBatchPreservePlan) {
return page.setRecords(baseMapper.selectDsBatchPreservePlanPage(page, dsBatchPreservePlan));
List<DsBatchPreservePlanVO> dsBatchPreservePlanVOS = baseMapper.selectDsBatchPreservePlanPage(page, dsBatchPreservePlan);
for (DsBatchPreservePlanVO dsBatchPreservePlanVO : dsBatchPreservePlanVOS) {
if(null != dsBatchPreservePlanVO.getWcId()){
BsWorkCenterEntity workCenterEntity = workCenterService.getById(dsBatchPreservePlanVO.getWcId());
dsBatchPreservePlanVO.setWcName(workCenterEntity.getWcName());
}
if(null != dsBatchPreservePlanVO.getKeepMan()){
String name = userClient.userInfo(dsBatchPreservePlanVO.getKeepMan()).getData().getUser().getName();
dsBatchPreservePlanVO.setKeepManStr(name);
}
}
return page.setRecords(dsBatchPreservePlanVOS);
}
@ -60,4 +98,119 @@ public class DsBatchPreservePlanServiceImpl extends BaseServiceImpl<DsBatchPrese
return dsBatchPreservePlanList;
}
@Override
public boolean saveOrUpdateBatchPreservePlan(List<DsBatchPreservePlanEntity> dsBatchPreservePlan) {
for (DsBatchPreservePlanEntity batchPreservePlan : dsBatchPreservePlan) {
Long userId = AuthUtil.getUser().getUserId();
batchPreservePlan.setKeepMan(userId);
batchPreservePlan.setKeepTime(new Date());
if(null != batchPreservePlan.getId()){
updateById(batchPreservePlan);
}else {
if(BatchConstant.PLAN.equals(batchPreservePlan.getBbpType())){
batchPreservePlan.setApprovalStatus(BatchConstant.STATUS_NEW);
}
batchPreservePlan.setLastTaskTime(new Date());
save(batchPreservePlan);
}
}
return true;
}
@Override
public boolean directorApproval(DsBatchPreservePlanDTO dsBatchPreservePlan) {
DsBatchPreservePlanEntity batchPreservePlanEntity = batchPreservePlanMapper.selectById(dsBatchPreservePlan.getId());
if(dsBatchPreservePlan.getIsPass()){
batchPreservePlanEntity.setApprovalStatus(BatchConstant.DIRECTOR_STATUS_RECEIPT);
}else {
batchPreservePlanEntity.setApprovalStatus(BatchConstant.DIRECTOR_STATUS_ASSIGN);
}
batchPreservePlanEntity.setApprovalOpinion(dsBatchPreservePlan.getApprovalOpinion());
updateById(batchPreservePlanEntity);
return true;
}
@Override
public boolean factoryApproval(DsBatchPreservePlanDTO dsBatchPreservePlan) {
DsBatchPreservePlanEntity batchPreservePlanEntity = batchPreservePlanMapper.selectById(dsBatchPreservePlan.getId());
if(dsBatchPreservePlan.getIsPass()){
batchPreservePlanEntity.setApprovalStatus(BatchConstant.FACTORY_STATUS_RECEIPT);
}else {
batchPreservePlanEntity.setApprovalStatus(BatchConstant.FACTORY_STATUS_ASSIGN);
}
batchPreservePlanEntity.setApprovalOpinion(dsBatchPreservePlan.getApprovalOpinion());
updateById(batchPreservePlanEntity);
return true;
}
@Override
public void createPlanClassTask() {
Date startTime = DateUtils.getStartTime(new Date());
Date endTime = DateUtils.getEndTime(new Date());
// 查询今天要发起的计划类得任务
List<DsBatchPreservePlanEntity> batchPreservePlanList = batchPreservePlanMapper.queryTodayPlanData(BatchConstant.PLAN,BatchConstant.FACTORY_STATUS_RECEIPT,startTime,endTime);
if(!CollectionUtils.isEmpty(batchPreservePlanList)){
for (DsBatchPreservePlanEntity batchPreservePlanEntity : batchPreservePlanList) {
DsBatchPreserveTaskEntity dsBatchPreserveTaskEntity = new DsBatchPreserveTaskEntity();
dsBatchPreserveTaskEntity.setBppId(batchPreservePlanEntity.getId());
dsBatchPreserveTaskEntity.setTaskCreateTime(new Date());
dsBatchPreserveTaskEntity.setTaskStatus(BatchConstant.TO_BE_MAINTAINED.longValue());
batchPreserveTaskService.save(dsBatchPreserveTaskEntity);
}
}
}
@Override
public void createPeriodicalClassTask() {
List<Integer> bbpTypeList = new ArrayList<>(Arrays.asList(
BatchConstant.REGULAR_BATH,
BatchConstant.REGULAR_DEVICE
));
// 查询今天要发起的定期类得任务
List<DsBatchPreservePlanEntity> batchPreservePlanList = batchPreservePlanMapper.queryTodayPeriodicalData(bbpTypeList);
if(!CollectionUtils.isEmpty(batchPreservePlanList)){
for (DsBatchPreservePlanEntity batchPreservePlanEntity : batchPreservePlanList) {
DsBatchPreserveTaskEntity dsBatchPreserveTaskEntity = new DsBatchPreserveTaskEntity();
dsBatchPreserveTaskEntity.setBppId(batchPreservePlanEntity.getId());
dsBatchPreserveTaskEntity.setTaskCreateTime(new Date());
dsBatchPreserveTaskEntity.setTaskStatus(BatchConstant.TO_BE_MAINTAINED.longValue());
batchPreserveTaskService.save(dsBatchPreserveTaskEntity);
}
}
}
@Override
public void createAccumulateClassTask() {
List<Integer> bbpTypeList = new ArrayList<>(Arrays.asList(
BatchConstant.ACCUMULATE
));
List<DsBatchPreservePlanEntity> batchPreservePlanList = batchPreservePlanMapper.queryTodayPeriodicalData(bbpTypeList);
DsBatchPreserveTaskEntity dsBatchPreserveTask = null;
if(!CollectionUtils.isEmpty(batchPreservePlanList)){
for (DsBatchPreservePlanEntity batchPreservePlan : batchPreservePlanList) {
// 先判断是否有上次触发时间 在判断是否符合触发条件,
if (batchPreservePlan.getLastTaskTime() != null) {
int days = (int) ((System.currentTimeMillis() - batchPreservePlan.getLastTaskTime().getTime()) / (1000 * 3600 * 24));
if (days >= batchPreservePlan.getFrequency()) {
this.createTask(batchPreservePlan, dsBatchPreserveTask);
}
}
}
}
}
/**
* 累计类 添加任务 计算逻辑
* @param batchPreservePlan
* @param dsBatchPreserveTask
*/
private void createTask(DsBatchPreservePlanEntity batchPreservePlan, DsBatchPreserveTaskEntity dsBatchPreserveTask) {
}
}

@ -25,15 +25,34 @@
*/
package org.springblade.desk.dashboard.service.impl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.dashboard.constant.BatchConstant;
import org.springblade.desk.dashboard.constant.TaskingConstant;
import org.springblade.desk.dashboard.pojo.entity.BsWorkCenterEntity;
import org.springblade.desk.dashboard.pojo.entity.DsBatchPreservePlanEntity;
import org.springblade.desk.dashboard.pojo.entity.DsBatchPreserveTaskEntity;
import org.springblade.desk.dashboard.pojo.entity.DsBatchWorkCenterSetEntity;
import org.springblade.desk.dashboard.pojo.vo.DsBatchPreserveTaskVO;
import org.springblade.desk.dashboard.excel.DsBatchPreserveTaskExcel;
import org.springblade.desk.dashboard.mapper.DsBatchPreserveTaskMapper;
import org.springblade.desk.dashboard.service.IBsWorkCenterService;
import org.springblade.desk.dashboard.service.IDsBatchPreservePlanService;
import org.springblade.desk.dashboard.service.IDsBatchPreserveTaskService;
import org.springblade.desk.dashboard.service.IDsBatchWorkCenterSetService;
import org.springblade.system.feign.IUserClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
@ -45,9 +64,45 @@ import java.util.List;
@Service
public class DsBatchPreserveTaskServiceImpl extends BaseServiceImpl<DsBatchPreserveTaskMapper, DsBatchPreserveTaskEntity> implements IDsBatchPreserveTaskService {
@Autowired
@Lazy
IDsBatchPreservePlanService batchPreservePlanService;
@Autowired
IBsWorkCenterService workCenterService;
@Autowired
DsBatchPreserveTaskMapper batchPreserveTaskMapper;
@Autowired
IUserClient userClient;
@Override
public IPage<DsBatchPreserveTaskVO> selectDsBatchPreserveTaskPage(IPage<DsBatchPreserveTaskVO> page, DsBatchPreserveTaskVO dsBatchPreserveTask) {
return page.setRecords(baseMapper.selectDsBatchPreserveTaskPage(page, dsBatchPreserveTask));
List<Integer> taskStatusList = new ArrayList<>(Arrays.asList(
BatchConstant.TO_BE_MAINTAINED,
BatchConstant.PENDING_REVIEW,
BatchConstant.AUDIT_NO_PASS
));
List<DsBatchPreserveTaskVO> dsBatchPreserveTaskVOS = baseMapper.selectDsBatchPreserveTaskPage(page, dsBatchPreserveTask,taskStatusList);
for (DsBatchPreserveTaskVO dsBatchPreserveTaskVO : dsBatchPreserveTaskVOS) {
if(null != dsBatchPreserveTaskVO.getBppId()){
DsBatchPreservePlanEntity batchPreservePlan = batchPreservePlanService.getById(dsBatchPreserveTaskVO.getBppId());
if(null != batchPreservePlan){
dsBatchPreserveTaskVO.setAccumulateRelevantInfo(batchPreservePlan.getPreserveContent());
}
}
if(null != dsBatchPreserveTaskVO.getWcId()){
BsWorkCenterEntity workCenterEntity = workCenterService.getById(dsBatchPreserveTaskVO.getWcId());
dsBatchPreserveTaskVO.setWcName(workCenterEntity.getWcName());
}
if(null != dsBatchPreserveTaskVO.getFinishMan()){
dsBatchPreserveTaskVO.setFinishManStr(userClient.userInfo(Func.toLong(dsBatchPreserveTaskVO.getFinishMan())).getData().getUser().getName());
}
}
return page.setRecords(dsBatchPreserveTaskVOS);
}
@ -60,4 +115,39 @@ public class DsBatchPreserveTaskServiceImpl extends BaseServiceImpl<DsBatchPrese
return dsBatchPreserveTaskList;
}
@Override
public boolean batchMaintain(List<DsBatchPreserveTaskEntity> dsBatchPreserveTaskEntityList) {
if(!CollectionUtils.isEmpty(dsBatchPreserveTaskEntityList)){
for (DsBatchPreserveTaskEntity dsBatchPreserveTask : dsBatchPreserveTaskEntityList) {
DsBatchPreserveTaskEntity dsBatchPreserveTaskEntity = batchPreserveTaskMapper.selectById(dsBatchPreserveTask.getId());
dsBatchPreserveTaskEntity.setTaskStatus(BatchConstant.PENDING_REVIEW.longValue());
Long userId = AuthUtil.getUser().getUserId();
dsBatchPreserveTaskEntity.setFinishMan(userId);
dsBatchPreserveTaskEntity.setFinishTime(new Date());
dsBatchPreserveTaskEntity.setIsQualified(dsBatchPreserveTask.getIsQualified());
dsBatchPreserveTaskEntity.setActualValue(dsBatchPreserveTask.getActualValue());
batchPreserveTaskMapper.updateById(dsBatchPreserveTaskEntity);
}
}
return true;
}
@Override
public boolean batchApproval(List<DsBatchPreserveTaskEntity> dsBatchPreserveTaskEntityList) {
if(!CollectionUtils.isEmpty(dsBatchPreserveTaskEntityList)){
for (DsBatchPreserveTaskEntity dsBatchPreserveTaskEntity : dsBatchPreserveTaskEntityList) {
DsBatchPreserveTaskEntity dsBatchPreserveTask = batchPreserveTaskMapper.selectById(dsBatchPreserveTaskEntity.getId());
dsBatchPreserveTask.setAuditStatus(dsBatchPreserveTaskEntity.getAuditStatus());
Long userId = AuthUtil.getUser().getUserId();
dsBatchPreserveTask.setAuditMan(userId);
dsBatchPreserveTask.setAuditTime(new Date());
dsBatchPreserveTask.setAuditDescribe(dsBatchPreserveTaskEntity.getAuditDescribe());
batchPreserveTaskMapper.updateById(dsBatchPreserveTask);
}
}
return true;
}
}

@ -25,15 +25,26 @@
*/
package org.springblade.desk.dashboard.service.impl;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.dashboard.pojo.entity.BsWorkCenterEntity;
import org.springblade.desk.dashboard.pojo.entity.DsBatchWorkCenterSetEntity;
import org.springblade.desk.dashboard.pojo.vo.DsBatchWorkCenterSetVO;
import org.springblade.desk.dashboard.excel.DsBatchWorkCenterSetExcel;
import org.springblade.desk.dashboard.mapper.DsBatchWorkCenterSetMapper;
import org.springblade.desk.dashboard.service.IBsWorkCenterService;
import org.springblade.desk.dashboard.service.IDsBatchWorkCenterSetService;
import org.springblade.system.feign.IUserClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.Date;
import java.util.List;
/**
@ -45,9 +56,34 @@ import java.util.List;
@Service
public class DsBatchWorkCenterSetServiceImpl extends BaseServiceImpl<DsBatchWorkCenterSetMapper, DsBatchWorkCenterSetEntity> implements IDsBatchWorkCenterSetService {
@Autowired
IUserClient userClient;
@Autowired
DsBatchWorkCenterSetMapper batchWorkCenterSetMapper;
@Autowired
IBsWorkCenterService workCenterService;
@Override
public IPage<DsBatchWorkCenterSetVO> selectDsBatchWorkCenterSetPage(IPage<DsBatchWorkCenterSetVO> page, DsBatchWorkCenterSetVO dsBatchWorkCenterSet) {
return page.setRecords(baseMapper.selectDsBatchWorkCenterSetPage(page, dsBatchWorkCenterSet));
List<DsBatchWorkCenterSetVO> dsBatchWorkCenterSetVOS = baseMapper.selectDsBatchWorkCenterSetPage(page, dsBatchWorkCenterSet);
if(!CollectionUtils.isEmpty(dsBatchWorkCenterSetVOS)){
for (DsBatchWorkCenterSetVO dsBatchWorkCenterSetVO : dsBatchWorkCenterSetVOS) {
if(null != dsBatchWorkCenterSetVO.getKeepMan()){
String name = userClient.userInfo(dsBatchWorkCenterSetVO.getKeepMan()).getData().getUser().getName();
dsBatchWorkCenterSetVO.setKeepManStr(name);
}
if(null != dsBatchWorkCenterSetVO.getWcId()){
BsWorkCenterEntity workCenter = workCenterService.getById(dsBatchWorkCenterSetVO.getWcId());
if(null != workCenter.getWcName()){
dsBatchWorkCenterSetVO.setWcName(workCenter.getWcName());
}
}
}
}
return page.setRecords(dsBatchWorkCenterSetVOS);
}
@ -60,4 +96,42 @@ public class DsBatchWorkCenterSetServiceImpl extends BaseServiceImpl<DsBatchWork
return dsBatchWorkCenterSetList;
}
@Override
public boolean saveBatchWorkCenterSet(DsBatchWorkCenterSetEntity dsBatchWorkCenterSet) {
if(null == dsBatchWorkCenterSet){
throw new ServiceException("数据不能为空");
}
if (!StringUtils.isEmpty(dsBatchWorkCenterSet.getCraftManId())) {
String craftManIds = dsBatchWorkCenterSet.getCraftManId();
String[] userIdArray = craftManIds.split(",");
StringBuilder userNameBuilder = new StringBuilder();
for (String userIdStr : userIdArray) {
if (!StringUtils.isEmpty(userIdStr.trim())) {
Long userId = Func.toLong(userIdStr.trim());
if (userId != null && userId > 0) {
// 查询单个用户信息
String name = userClient.userInfo(userId).getData().getUser().getName();
if (userNameBuilder.length() > 0) {
userNameBuilder.append(",");
}
userNameBuilder.append(name);
}
}
}
dsBatchWorkCenterSet.setCraftManName(userNameBuilder.toString());
}
Long userId = AuthUtil.getUser().getUserId();
dsBatchWorkCenterSet.setKeepMan(userId);
dsBatchWorkCenterSet.setKeepTime(new Date());
if(null != dsBatchWorkCenterSet.getId()){
updateById(dsBatchWorkCenterSet);
}else {
save(dsBatchWorkCenterSet);
}
return true;
}
}

@ -25,15 +25,21 @@
*/
package org.springblade.desk.dashboard.service.impl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.desk.dashboard.pojo.entity.BsWorkCenterEntity;
import org.springblade.desk.dashboard.pojo.entity.DsMainSaltAddQuantityEntity;
import org.springblade.desk.dashboard.pojo.vo.DsMainSaltAddQuantityVO;
import org.springblade.desk.dashboard.excel.DsMainSaltAddQuantityExcel;
import org.springblade.desk.dashboard.mapper.DsMainSaltAddQuantityMapper;
import org.springblade.desk.dashboard.service.IBsWorkCenterService;
import org.springblade.desk.dashboard.service.IDsMainSaltAddQuantityService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import java.util.Date;
import java.util.List;
/**
@ -45,9 +51,22 @@ import java.util.List;
@Service
public class DsMainSaltAddQuantityServiceImpl extends BaseServiceImpl<DsMainSaltAddQuantityMapper, DsMainSaltAddQuantityEntity> implements IDsMainSaltAddQuantityService {
@Autowired
IBsWorkCenterService workCenterService;
@Override
public IPage<DsMainSaltAddQuantityVO> selectDsMainSaltAddQuantityPage(IPage<DsMainSaltAddQuantityVO> page, DsMainSaltAddQuantityVO dsMainSaltAddQuantity) {
return page.setRecords(baseMapper.selectDsMainSaltAddQuantityPage(page, dsMainSaltAddQuantity));
List<DsMainSaltAddQuantityVO> dsMainSaltAddQuantityVOS = baseMapper.selectDsMainSaltAddQuantityPage(page, dsMainSaltAddQuantity);
for (DsMainSaltAddQuantityVO dsMainSaltAddQuantityVO : dsMainSaltAddQuantityVOS) {
if(null != dsMainSaltAddQuantityVO.getWcId()){
BsWorkCenterEntity workCenterEntity = workCenterService.getById(dsMainSaltAddQuantityVO.getWcId());
if(null != workCenterEntity){
dsMainSaltAddQuantityVO.setWcName(workCenterEntity.getWcName());
}
}
}
return page.setRecords(dsMainSaltAddQuantityVOS);
}
@ -60,4 +79,21 @@ public class DsMainSaltAddQuantityServiceImpl extends BaseServiceImpl<DsMainSalt
return dsMainSaltAddQuantityList;
}
@Override
public boolean saveOrUpdateMainSaltAddQuantity(List<DsMainSaltAddQuantityVO> mainSaltAddQuantityList) {
Long userId = AuthUtil.getUser().getUserId();
for (DsMainSaltAddQuantityVO dsMainSaltAddQuantityVO : mainSaltAddQuantityList) {
if(null != dsMainSaltAddQuantityVO.getId()){
dsMainSaltAddQuantityVO.setKeepMan(userId);
dsMainSaltAddQuantityVO.setKeepTime(new Date());
updateById(dsMainSaltAddQuantityVO);
}else {
dsMainSaltAddQuantityVO.setKeepMan(userId);
dsMainSaltAddQuantityVO.setAddTime(new Date());
save(dsMainSaltAddQuantityVO);
}
}
return true;
}
}

@ -25,6 +25,9 @@
*/
package org.springblade.desk.dashboard.service.impl;
import org.apache.commons.lang3.StringUtils;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.api.R;
import org.springblade.desk.dashboard.pojo.entity.DsPartEntity;
import org.springblade.desk.dashboard.pojo.entity.DsSimilarPartsEntity;
import org.springblade.desk.dashboard.pojo.vo.DsSimilarPartsVO;
@ -37,7 +40,11 @@ import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* 相似零件表 服务实现类
@ -51,6 +58,9 @@ public class DsSimilarPartsServiceImpl extends BaseServiceImpl<DsSimilarPartsMap
@Autowired
IDsPartService partService;
@Autowired
DsSimilarPartsMapper similarPartsMapper;
@Override
public IPage<DsSimilarPartsVO> selectDsSimilarPartsPage(IPage<DsSimilarPartsVO> page, DsSimilarPartsVO dsSimilarParts) {
List<DsSimilarPartsVO> dsSimilarPartsList = baseMapper.selectDsSimilarPartsPage(page, dsSimilarParts);
@ -75,4 +85,31 @@ public class DsSimilarPartsServiceImpl extends BaseServiceImpl<DsSimilarPartsMap
return dsSimilarPartsList;
}
@Override
public boolean importExcelSimple(List<DsSimilarPartsVO> list) {
if (CollectionUtils.isEmpty(list)) {
throw new ServiceException("Excel文件中没有数据");
}
List<DsSimilarPartsEntity> similarPartsList = new ArrayList<>();
for (DsSimilarPartsVO dsSimilarPartsVO : list) {
DsPartEntity partOne = partService.selectDsPartByPatCode(dsSimilarPartsVO.getPartOneCode());
DsPartEntity partTwo = partService.selectDsPartByPatCode(dsSimilarPartsVO.getPartTwoCode());
if(null != partOne && null != partTwo){
DsSimilarPartsEntity dsSimilarPartsEntity = new DsSimilarPartsEntity();
dsSimilarPartsEntity.setPartOne(partOne.getId());
dsSimilarPartsEntity.setPartTwo(partTwo.getId());
similarPartsList.add(dsSimilarPartsEntity);
}else {
throw new ServiceException("请检查零件号: "+dsSimilarPartsVO.getPartOneCode()+" 或 "+dsSimilarPartsVO.getPartTwoCode());
}
}
// 4. 批量保存
saveBatch(similarPartsList);
return true;
}
}

@ -25,16 +25,28 @@
*/
package org.springblade.desk.dashboard.service.impl;
import cn.hutool.core.stream.CollectorUtil;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.dashboard.pojo.entity.BsWorkCenterEntity;
import org.springblade.desk.dashboard.pojo.entity.DsSpecialProEntity;
import org.springblade.desk.dashboard.pojo.vo.DsSpecialProVO;
import org.springblade.desk.dashboard.excel.DsSpecialProExcel;
import org.springblade.desk.dashboard.mapper.DsSpecialProMapper;
import org.springblade.desk.dashboard.service.IBsWorkCenterService;
import org.springblade.desk.dashboard.service.IDsSpecialProService;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* 特殊过程表 服务实现类
@ -45,6 +57,12 @@ import java.util.List;
@Service
public class DsSpecialProServiceImpl extends BaseServiceImpl<DsSpecialProMapper, DsSpecialProEntity> implements IDsSpecialProService {
@Autowired
IBsWorkCenterService workCenterService;
@Autowired
IUserClient userClient;
@Override
public IPage<DsSpecialProVO> selectDsSpecialProPage(IPage<DsSpecialProVO> page, DsSpecialProVO dsSpecialPro) {
return page.setRecords(baseMapper.selectDsSpecialProPage(page, dsSpecialPro));
@ -60,4 +78,42 @@ public class DsSpecialProServiceImpl extends BaseServiceImpl<DsSpecialProMapper,
return dsSpecialProList;
}
@Override
public boolean importExcelSpecialPro(List<DsSpecialProExcel> list) {
if(CollectionUtils.isEmpty(list)){
throw new ServiceException("Excel文件中没有数据");
}
List<DsSpecialProEntity> specialProList = new ArrayList<>();
for (DsSpecialProExcel dsSpecialProExcel : list) {
if(null == dsSpecialProExcel.getWcCode() || null == dsSpecialProExcel.getEquipmentCode()){
throw new ServiceException("作业中心编码或产线编码不允许为空");
}
BsWorkCenterEntity workCenterEntity = workCenterService.selectBsWorkCenterByWcCode(dsSpecialProExcel.getWcCode());
if(null == workCenterEntity){
throw new ServiceException("作业中心编码: "+dsSpecialProExcel.getWcCode()+"不存在");
}
if(null == dsSpecialProExcel.getProMan()){
throw new ServiceException("工艺员不能为空");
}
User user = userClient.userInfo(Func.toLong(dsSpecialProExcel.getProMan())).getData().getUser();
if(null == user){
throw new ServiceException("工艺员: "+dsSpecialProExcel.getProMan()+" 不存在");
}
//todo 验证产线是否存在
DsSpecialProEntity dsSpecialProEntity = new DsSpecialProEntity();
dsSpecialProEntity.setWcId(workCenterEntity.getId());
dsSpecialProEntity.setEquipmentCode(dsSpecialProExcel.getEquipmentCode());
dsSpecialProEntity.setProItem(dsSpecialProExcel.getProItem());
dsSpecialProEntity.setCondition(dsSpecialProExcel.getCondition());
dsSpecialProEntity.setLastDueTime(dsSpecialProExcel.getLastDueTime());
dsSpecialProEntity.setRemDays(dsSpecialProExcel.getRemDays());
dsSpecialProEntity.setProMan(user.getId());
dsSpecialProEntity.setRemarks(dsSpecialProExcel.getRemarks());
specialProList.add(dsSpecialProEntity);
}
saveBatch(specialProList);
return true;
}
}

@ -27,7 +27,6 @@ package org.springblade.desk.dashboard.service.impl;
import com.alibaba.fastjson2.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.math3.random.ValueServer;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
@ -50,8 +49,6 @@ import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import javax.xml.crypto.Data;
import java.net.DatagramSocket;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.*;
@ -409,6 +406,8 @@ public class DsTaskingServiceImpl extends BaseServiceImpl<DsTaskingMapper, DsTas
throw new ServiceException("此版本任务已存在");
}else {
dsTasking.setRank("2");
dsTasking.setTaskStatus(TaskingConstant.TASK_STATUS_ALREADY);
dsTasking.setTaskType(TaskingConstant.MAINTAIN_TASK);
save(dsTasking);
return true;
}
@ -459,11 +458,14 @@ public class DsTaskingServiceImpl extends BaseServiceImpl<DsTaskingMapper, DsTas
List<Long> idList = partRelationEntityList.stream()
.map(DsPartRelationEntity::getChildPartId)
.collect(Collectors.toList());
List<DsPartEntity> dsPartEntityList = partService.selectDsPartByIds(idList);
dsPartSynthesisVO.setDsPartEntities(dsPartEntityList);
if(!CollectionUtils.isEmpty(idList)){
List<DsPartEntity> dsPartEntityList = partService.selectDsPartByIds(idList);
dsPartSynthesisVO.setDsPartEntities(dsPartEntityList);
}
}
dsPartSynthesisVO.setDsPartEntity(partEntity);
dsPartSynthesisVO.setPartVersion(dsTaskingEntity.getVersion());
return dsPartSynthesisVO;
}
@ -585,10 +587,8 @@ public class DsTaskingServiceImpl extends BaseServiceImpl<DsTaskingMapper, DsTas
}
@Override
public boolean authorizedAccomplish(DsPartEntity dsPart, List<DsPartEntity> zPartList, DsCraftEntity craft, List<DsProcessEntity> processList, List<Long> deleteIds) {
public boolean authorizedAccomplish( DsCraftEntity craft, List<DsProcessEntity> processList, List<Long> deleteIds) {
//零件
partService.updateDsPart(dsPart,zPartList);
//工艺
craftService.addOrEdit(craft);
//工序
@ -600,21 +600,27 @@ public class DsTaskingServiceImpl extends BaseServiceImpl<DsTaskingMapper, DsTas
@Override
public boolean saveProcessProjectSave(DsProcessEntity processEntity, List<DsProcessProjectEntity> processProjectEntityList, List<Long> deleteIds) {
processProjectService.saveProcessProjectSave(processEntity,processProjectEntityList);
processProjectService.deleteLogic(deleteIds);
if(!CollectionUtils.isEmpty(deleteIds)){
processProjectService.deleteLogic(deleteIds);
}
return true;
}
@Override
public boolean saveProcessMeasuringTool(DsProcessEntity processEntity, List<DsProcessMeasuringToolEntity> processMeasuringToolEntities, List<Long> deleteIds) {
processMeasuringToolService.saveProcessMeasuringTool(processEntity,processMeasuringToolEntities);
processMeasuringToolService.deleteLogic(deleteIds);
if(!CollectionUtils.isEmpty(deleteIds)){
processProjectService.deleteLogic(deleteIds);
}
return true;
}
@Override
public boolean saveProcessMoldTool(DsProcessEntity processEntity, List<DsProcessMoldToolEntity> processMoldToolEntities, List<Long> deleteIds) {
processMoldToolService.saveProcessMoldTool(processEntity,processMoldToolEntities);
processMoldToolService.deleteLogic(deleteIds);
if(!CollectionUtils.isEmpty(deleteIds)){
processProjectService.deleteLogic(deleteIds);
}
return true;
}
@ -724,6 +730,14 @@ public class DsTaskingServiceImpl extends BaseServiceImpl<DsTaskingMapper, DsTas
return partAuthorizedVO;
}
@Override
public boolean authorizedPart(DsPartEntity dsPart, List<DsPartEntity> zPartList) {
//零件
partService.updateDsPart(dsPart,zPartList);
return true;
}
/**
* 处理单个返工任务
* 对应: loop 循环内的处理逻辑

@ -0,0 +1,266 @@
package org.springblade.desk.dashboard.utils;
import org.apache.commons.lang3.time.DateFormatUtils;
import java.lang.management.ManagementFactory;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.*;
import java.util.Calendar;
import java.util.Date;
/**
* 时间工具类
*
* @author ruoyi
*/
public class DateUtils extends org.apache.commons.lang3.time.DateUtils
{
public static String YYYY = "yyyy";
public static String YYYY_MM = "yyyy-MM";
public static String YYYY_MM_DD = "yyyy-MM-dd";
public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
private static String[] parsePatterns = {
"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM",
"yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM",
"yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"};
/**
* 获取当前Date型日期
*
* @return Date() 当前日期
*/
public static Date getNowDate()
{
return new Date();
}
/**
* 获取当前日期, 默认格式为yyyy-MM-dd
*
* @return String
*/
public static String getDate()
{
return dateTimeNow(YYYY_MM_DD);
}
public static final String getTime()
{
return dateTimeNow(YYYY_MM_DD_HH_MM_SS);
}
public static final String dateTimeNow()
{
return dateTimeNow(YYYYMMDDHHMMSS);
}
public static final String dateTimeNow(final String format)
{
return parseDateToStr(format, new Date());
}
public static final String dateTime(final Date date)
{
return parseDateToStr(YYYY_MM_DD, date);
}
public static final String parseDateToStr(final String format, final Date date)
{
return new SimpleDateFormat(format).format(date);
}
public static final Date dateTime(final String format, final String ts)
{
try
{
return new SimpleDateFormat(format).parse(ts);
}
catch (ParseException e)
{
throw new RuntimeException(e);
}
}
/**
* 日期路径 即年// 如2018/08/08
*/
public static final String datePath()
{
Date now = new Date();
return DateFormatUtils.format(now, "yyyy/MM/dd");
}
/**
* 日期路径 即年// 如20180808
*/
public static final String dateTime()
{
Date now = new Date();
return DateFormatUtils.format(now, "yyyyMMdd");
}
/**
* 日期型字符串转化为日期 格式
*/
public static Date parseDate(Object str)
{
if (str == null)
{
return null;
}
try
{
return parseDate(str.toString(), parsePatterns);
}
catch (ParseException e)
{
return null;
}
}
/**
* 获取服务器启动时间
*/
public static Date getServerStartDate()
{
long time = ManagementFactory.getRuntimeMXBean().getStartTime();
return new Date(time);
}
/**
* 计算相差天数
*/
public static int differentDaysByMillisecond(Date date1, Date date2)
{
return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24)));
}
/**
* 计算相差天数 分钟
*/
public static int differentDaysByMin(Date date1, Date date2)
{
return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 60 )));
}
/**
* 计算时间差
*
* @param endDate 最后时间
* @param startTime 开始时间
* @return 时间差/小时/分钟
*/
public static String timeDistance(Date endDate, Date startTime)
{
long nd = 1000 * 24 * 60 * 60;
long nh = 1000 * 60 * 60;
long nm = 1000 * 60;
// long ns = 1000;
// 获得两个时间的毫秒时间差异
long diff = endDate.getTime() - startTime.getTime();
// 计算差多少天
long day = diff / nd;
// 计算差多少小时
long hour = diff % nd / nh;
// 计算差多少分钟
long min = diff % nd % nh / nm;
// 计算差多少秒//输出结果
// long sec = diff % nd % nh % nm / ns;
return day + "天" + hour + "小时" + min + "分钟";
}
/**
* 增加 LocalDateTime ==> Date
*/
public static Date toDate(LocalDateTime temporalAccessor)
{
ZonedDateTime zdt = temporalAccessor.atZone(ZoneId.systemDefault());
return Date.from(zdt.toInstant());
}
/**
* 增加 LocalDate ==> Date
*/
public static Date toDate(LocalDate temporalAccessor)
{
LocalDateTime localDateTime = LocalDateTime.of(temporalAccessor, LocalTime.of(0, 0, 0));
ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault());
return Date.from(zdt.toInstant());
}
/**
* 当前时刻在两个时间之间
*
* @param beginDate 开始时间 2018-05-10 00:00:00
* @param endDate 结束时间 2019-05-10 00:00:00
* @return 是否在这两个时间之内
*/
public static boolean nowIsBetween(Date beginDate, Date endDate) {
if (beginDate == null || endDate == null) {
return false;
}
LocalDateTime begin = beginDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
LocalDateTime end = endDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
LocalDateTime now = LocalDateTime.now();
if (begin.isBefore(now) && end.isAfter(now)) {
return true;
}
return false;
}
public static Date getStartTime(Date date) {
if(date == null){
return null;
}
Calendar c = Calendar.getInstance();
c.setTime(date);
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
return c.getTime();
}
/**
* 获取时间的最后一刻
*
* @param date 时间
* @return 时间的最后一刻
*/
public static Date getEndTime(Date date) {
if(date == null){
return null;
}
Calendar c = Calendar.getInstance();
c.setTime(date);
c.set(Calendar.HOUR_OF_DAY, 23);
c.set(Calendar.MINUTE, 59);
c.set(Calendar.SECOND, 59);
return c.getTime();
}
//比较两个时间 取其大
public static Date compareDates(Date date1, Date date2) {
if (date1.before(date2)) {
// date1在date2之前
return date2;
} else if (date1.after(date2)) {
// date1在date2之后
return date1;
} else {
// date1和date2相等
return date1;
}
}
}
Loading…
Cancel
Save