Browse Source

循环盘点增加定时任务。

master
刘忱 2 years ago
parent
commit
280f140ecf
  1. 25
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/CountJobMainController.java
  2. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/vo/CountJobMainRespVO.java
  3. 4
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countPlan/CountPlanMainDO.java
  4. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/job/CountPlanJob.java
  5. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobDetailService.java
  6. 5
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobDetailServiceImpl.java
  7. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobMainServiceImpl.java
  8. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countPlan/CountPlanMainServiceImpl.java

25
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/CountJobMainController.java

@ -70,7 +70,7 @@ public class CountJobMainController {
public CommonResult<PageResult<CountJobMainRespVO>> getCountJobMainSenior(@Valid @RequestBody CustomConditions conditions) {
PageResult<CountJobMainDO> pageResult = countJobMainService.getCountJobMainSenior(conditions);
PageResult<CountJobMainRespVO> result = CountJobMainConvert.INSTANCE.convertPage(pageResult);
for(CountJobMainRespVO vo : result.getList()) {
for (CountJobMainRespVO vo : result.getList()) {
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname());
@ -107,14 +107,15 @@ public class CountJobMainController {
public CommonResult<CountJobMainRespVO> getCountJobById(@RequestParam("id") Long id) {
CountJobMainDO countJobMain = countJobMainService.getCountJobMain(id);
CountJobMainRespVO result = CountJobMainConvert.INSTANCE.convert(countJobMain);
if(result==null) {
return success(result);
};
if (result == null) {
return success(null);
}
;
CountJobDetailExportReqVO reqVO = new CountJobDetailExportReqVO();
reqVO.setMasterId(result.getId());
List<CountJobDetailDO> countJobDetailList = countJobDetailService.getCountJobDetailList(reqVO);
List<CountJobDetailExcelVO> vos = CountJobDetailConvert.INSTANCE.convertList02(countJobDetailList);
result.setSubList(vos);
List<CountJobDetailDO> countJobDetailList = countJobDetailService.selectList(result.getId());
List<CountJobDetailRespVO> countJobDetailRespVOList = CountJobDetailConvert.INSTANCE.convertList(countJobDetailList);
result.setSubList(countJobDetailRespVOList);
return success(result);
}
@ -122,11 +123,11 @@ public class CountJobMainController {
@Operation(summary = "APP获得盘点任务数量根据任务状态")
@Parameter(name = "types", description = "类型数组", required = false, example = "\"types\":[\"1\",\"2\"]")
@PreAuthorize("@ss.hasPermission('wms:count-job-main:query')")
public CommonResult<Map<String,Integer>> getCountByStatus(@RequestBody Map<String, List<String>> map) {
public CommonResult<Map<String, Integer>> getCountByStatus(@RequestBody Map<String, List<String>> map) {
List<String> list = new ArrayList<>();
if(map==null||map.get("types")==null|| StringUtil.isEmpty(map.get("types").toString())){
if (map == null || map.get("types") == null || StringUtil.isEmpty(map.get("types").toString())) {
list.add("1");//默认不传为执行中的
}else{
} else {
list = map.get("types");
}
Map<String, Integer> countByStatus = countJobMainService.getCountByStatus(list);
@ -150,9 +151,9 @@ public class CountJobMainController {
mapDropDown.put(45, uom);
List<CountJobMainExcelVO> resultList = new ArrayList<>();
// 导出
for(CountJobMainDO mainDO : list) {
for (CountJobMainDO mainDO : list) {
List<CountJobDetailDO> subList = countJobDetailService.selectList(mainDO.getId());
for(CountJobDetailDO detailDO : subList) {
for (CountJobDetailDO detailDO : subList) {
CountJobMainExcelVO vo = CountJobMainConvert.INSTANCE.convert(mainDO, detailDO);
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/countJob/vo/CountJobMainRespVO.java

@ -11,6 +11,6 @@ import java.util.List;
@ToString(callSuper = true)
public class CountJobMainRespVO extends CountJobMainBaseVO {
@Schema(description = "盘点任务子表job_count_detail", requiredMode = Schema.RequiredMode.REQUIRED)
private List subList;
@Schema(description = "盘点任务子表jobCountDetail", requiredMode = Schema.RequiredMode.REQUIRED)
private List<CountJobDetailRespVO> subList;
}

4
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/countPlan/CountPlanMainDO.java

@ -126,5 +126,9 @@ public class CountPlanMainDO extends BaseDO {
* 是否可用
*/
private String available;
/**
* 租户编号
*/
private Integer tenantId;
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/job/CountPlanJob.java

@ -1,6 +1,7 @@
package com.win.module.wms.job;
import com.win.framework.quartz.core.handler.JobHandler;
import com.win.framework.tenant.core.context.TenantContextHolder;
import com.win.module.wms.dal.dataobject.countPlan.CountPlanMainDO;
import com.win.module.wms.service.countPlan.CountPlanMainService;
import org.springframework.stereotype.Component;
@ -15,7 +16,9 @@ public class CountPlanJob implements JobHandler {
@Override
public String execute(String param) {
CountPlanMainDO countPlanMainDO = countPlanMainService.getCountPlanMain(Long.parseLong(param));
String[] strs = param.split(",");
TenantContextHolder.setTenantId(Long.parseLong(strs[1]));
CountPlanMainDO countPlanMainDO = countPlanMainService.getCountPlanMain(Long.parseLong(strs[0]));
countPlanMainService.generateRequest(countPlanMainDO);
return "盘点计划 " + countPlanMainDO.getNumber()+ " 生成了盘点申请";
}

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobDetailService.java

@ -2,7 +2,6 @@ package com.win.module.wms.service.countJob;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.countJob.vo.CountJobDetailExportReqVO;
import com.win.module.wms.controller.countJob.vo.CountJobDetailPageReqVO;
import com.win.module.wms.dal.dataobject.countJob.CountJobDetailDO;
@ -37,12 +36,4 @@ public interface CountJobDetailService {
*/
List<CountJobDetailDO> selectList(Long masterId);
/**
* 获得盘点任务子列表, 用于 Excel 导出
*
* @param exportReqVO 查询条件
* @return 盘点任务子列表
*/
List<CountJobDetailDO> getCountJobDetailList(CountJobDetailExportReqVO exportReqVO);
}

5
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobDetailServiceImpl.java

@ -2,7 +2,6 @@ package com.win.module.wms.service.countJob;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.countJob.vo.CountJobDetailExportReqVO;
import com.win.module.wms.controller.countJob.vo.CountJobDetailPageReqVO;
import com.win.module.wms.dal.dataobject.countJob.CountJobDetailDO;
import com.win.module.wms.dal.mysql.countJob.CountJobDetailMapper;
@ -38,8 +37,4 @@ public class CountJobDetailServiceImpl implements CountJobDetailService {
return countJobDetailMapper.selectList(masterId);
}
@Override
public List<CountJobDetailDO> getCountJobDetailList(CountJobDetailExportReqVO exportReqVO) {
return countJobDetailMapper.selectList(exportReqVO);
}
}

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countJob/CountJobMainServiceImpl.java

@ -19,10 +19,12 @@ import com.win.module.wms.dal.dataobject.countJob.CountJobMainDO;
import com.win.module.wms.dal.dataobject.countRecord.CountRecordDetailDO;
import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO;
import com.win.module.wms.dal.dataobject.countRequest.CountRequestMainDO;
import com.win.module.wms.dal.dataobject.location.LocationDO;
import com.win.module.wms.dal.mysql.countJob.CountJobMainMapper;
import com.win.module.wms.dal.mysql.countRecord.CountRecordDetailMapper;
import com.win.module.wms.dal.mysql.countRecord.CountRecordMainMapper;
import com.win.module.wms.dal.mysql.countRequest.CountRequestMainMapper;
import com.win.module.wms.dal.mysql.location.LocationMapper;
import com.win.module.wms.enums.job.JobStatusEnum;
import com.win.module.wms.enums.job.JobStatusState;
import com.win.module.wms.enums.request.RequestStatusEnum;
@ -64,6 +66,8 @@ public class CountJobMainServiceImpl implements CountJobMainService {
@Resource
private CountRequestMainMapper countRequestMainMapper;
@Resource
private LocationMapper locationMapper;
@Resource
private JobUtils jobUtils;
@Override
@ -195,6 +199,10 @@ public class CountJobMainServiceImpl implements CountJobMainService {
for(CountJobDetailUpdateReqVO countJobDetailUpdateReqVO : countJobDetailUpdateReqVOList) {
CountRecordDetailDO countRecordDetailDO = new CountRecordDetailDO();
BeanUtils.copyProperties(countJobDetailUpdateReqVO, countRecordDetailDO);
LocationDO locationDO = locationMapper.selectByCode(countJobMainDO.getLocationCode());
countRecordDetailDO.setLocationCode(locationDO.getCode());
countRecordDetailDO.setLocationGroupCode(locationDO.getLocationGroupCode());
countRecordDetailDO.setAreaCode(locationDO.getAreaCode());
countRecordDetailDO.setMasterId(countRecordMainDO.getId());
countRecordDetailDO.setNumber(number);
countRecordDetailDO.setJobDetailId(String.valueOf(countJobDetailUpdateReqVO.getId()));

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countPlan/CountPlanMainServiceImpl.java

@ -278,7 +278,7 @@ public class CountPlanMainServiceImpl implements CountPlanMainService {
} else if (mainDO.getType().equals("CYCLE")) {//循环盘点
// 添加 Job 到 Quartz 中
try {
schedulerManager.addJob(mainDO.getId() + 10000, "countPlanJob_" + mainDO.getId(), String.valueOf(mainDO.getId()), mainDO.getCrontab(), 3, 60*10);
schedulerManager.addJob(mainDO.getId() + 10000, "countPlanJob", String.valueOf(mainDO.getId()) + "," + mainDO.getTenantId(), mainDO.getCrontab(), 3, 60*10);
} catch (SchedulerException e) {
throw new ServiceException(COUNT_PLAN_CRON_ERROR);
}

Loading…
Cancel
Save