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) { public CommonResult<PageResult<CountJobMainRespVO>> getCountJobMainSenior(@Valid @RequestBody CustomConditions conditions) {
PageResult<CountJobMainDO> pageResult = countJobMainService.getCountJobMainSenior(conditions); PageResult<CountJobMainDO> pageResult = countJobMainService.getCountJobMainSenior(conditions);
PageResult<CountJobMainRespVO> result = CountJobMainConvert.INSTANCE.convertPage(pageResult); 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())); AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator()));
//后端创建个字段作为前端展示的虚拟字段 //后端创建个字段作为前端展示的虚拟字段
vo.setCreator(user.getNickname()); vo.setCreator(user.getNickname());
@ -107,14 +107,15 @@ public class CountJobMainController {
public CommonResult<CountJobMainRespVO> getCountJobById(@RequestParam("id") Long id) { public CommonResult<CountJobMainRespVO> getCountJobById(@RequestParam("id") Long id) {
CountJobMainDO countJobMain = countJobMainService.getCountJobMain(id); CountJobMainDO countJobMain = countJobMainService.getCountJobMain(id);
CountJobMainRespVO result = CountJobMainConvert.INSTANCE.convert(countJobMain); CountJobMainRespVO result = CountJobMainConvert.INSTANCE.convert(countJobMain);
if(result==null) { if (result == null) {
return success(result); return success(null);
}; }
;
CountJobDetailExportReqVO reqVO = new CountJobDetailExportReqVO(); CountJobDetailExportReqVO reqVO = new CountJobDetailExportReqVO();
reqVO.setMasterId(result.getId()); reqVO.setMasterId(result.getId());
List<CountJobDetailDO> countJobDetailList = countJobDetailService.getCountJobDetailList(reqVO); List<CountJobDetailDO> countJobDetailList = countJobDetailService.selectList(result.getId());
List<CountJobDetailExcelVO> vos = CountJobDetailConvert.INSTANCE.convertList02(countJobDetailList); List<CountJobDetailRespVO> countJobDetailRespVOList = CountJobDetailConvert.INSTANCE.convertList(countJobDetailList);
result.setSubList(vos); result.setSubList(countJobDetailRespVOList);
return success(result); return success(result);
} }
@ -122,11 +123,11 @@ public class CountJobMainController {
@Operation(summary = "APP获得盘点任务数量根据任务状态") @Operation(summary = "APP获得盘点任务数量根据任务状态")
@Parameter(name = "types", description = "类型数组", required = false, example = "\"types\":[\"1\",\"2\"]") @Parameter(name = "types", description = "类型数组", required = false, example = "\"types\":[\"1\",\"2\"]")
@PreAuthorize("@ss.hasPermission('wms:count-job-main:query')") @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<>(); 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");//默认不传为执行中的 list.add("1");//默认不传为执行中的
}else{ } else {
list = map.get("types"); list = map.get("types");
} }
Map<String, Integer> countByStatus = countJobMainService.getCountByStatus(list); Map<String, Integer> countByStatus = countJobMainService.getCountByStatus(list);
@ -150,9 +151,9 @@ public class CountJobMainController {
mapDropDown.put(45, uom); mapDropDown.put(45, uom);
List<CountJobMainExcelVO> resultList = new ArrayList<>(); List<CountJobMainExcelVO> resultList = new ArrayList<>();
// 导出 // 导出
for(CountJobMainDO mainDO : list) { for (CountJobMainDO mainDO : list) {
List<CountJobDetailDO> subList = countJobDetailService.selectList(mainDO.getId()); List<CountJobDetailDO> subList = countJobDetailService.selectList(mainDO.getId());
for(CountJobDetailDO detailDO : subList) { for (CountJobDetailDO detailDO : subList) {
CountJobMainExcelVO vo = CountJobMainConvert.INSTANCE.convert(mainDO, detailDO); CountJobMainExcelVO vo = CountJobMainConvert.INSTANCE.convert(mainDO, detailDO);
AdminUserRespDTO user = userApi.getUser(Long.valueOf(vo.getCreator())); 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) @ToString(callSuper = true)
public class CountJobMainRespVO extends CountJobMainBaseVO { public class CountJobMainRespVO extends CountJobMainBaseVO {
@Schema(description = "盘点任务子表job_count_detail", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "盘点任务子表jobCountDetail", requiredMode = Schema.RequiredMode.REQUIRED)
private List subList; 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 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; package com.win.module.wms.job;
import com.win.framework.quartz.core.handler.JobHandler; 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.dal.dataobject.countPlan.CountPlanMainDO;
import com.win.module.wms.service.countPlan.CountPlanMainService; import com.win.module.wms.service.countPlan.CountPlanMainService;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -15,7 +16,9 @@ public class CountPlanJob implements JobHandler {
@Override @Override
public String execute(String param) { 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); countPlanMainService.generateRequest(countPlanMainDO);
return "盘点计划 " + countPlanMainDO.getNumber()+ " 生成了盘点申请"; 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.CustomConditions;
import com.win.framework.common.pojo.PageResult; 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.controller.countJob.vo.CountJobDetailPageReqVO;
import com.win.module.wms.dal.dataobject.countJob.CountJobDetailDO; import com.win.module.wms.dal.dataobject.countJob.CountJobDetailDO;
@ -37,12 +36,4 @@ public interface CountJobDetailService {
*/ */
List<CountJobDetailDO> selectList(Long masterId); 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.CustomConditions;
import com.win.framework.common.pojo.PageResult; 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.controller.countJob.vo.CountJobDetailPageReqVO;
import com.win.module.wms.dal.dataobject.countJob.CountJobDetailDO; import com.win.module.wms.dal.dataobject.countJob.CountJobDetailDO;
import com.win.module.wms.dal.mysql.countJob.CountJobDetailMapper; import com.win.module.wms.dal.mysql.countJob.CountJobDetailMapper;
@ -38,8 +37,4 @@ public class CountJobDetailServiceImpl implements CountJobDetailService {
return countJobDetailMapper.selectList(masterId); 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.CountRecordDetailDO;
import com.win.module.wms.dal.dataobject.countRecord.CountRecordMainDO; 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.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.countJob.CountJobMainMapper;
import com.win.module.wms.dal.mysql.countRecord.CountRecordDetailMapper; 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.countRecord.CountRecordMainMapper;
import com.win.module.wms.dal.mysql.countRequest.CountRequestMainMapper; 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.JobStatusEnum;
import com.win.module.wms.enums.job.JobStatusState; import com.win.module.wms.enums.job.JobStatusState;
import com.win.module.wms.enums.request.RequestStatusEnum; import com.win.module.wms.enums.request.RequestStatusEnum;
@ -64,6 +66,8 @@ public class CountJobMainServiceImpl implements CountJobMainService {
@Resource @Resource
private CountRequestMainMapper countRequestMainMapper; private CountRequestMainMapper countRequestMainMapper;
@Resource @Resource
private LocationMapper locationMapper;
@Resource
private JobUtils jobUtils; private JobUtils jobUtils;
@Override @Override
@ -195,6 +199,10 @@ public class CountJobMainServiceImpl implements CountJobMainService {
for(CountJobDetailUpdateReqVO countJobDetailUpdateReqVO : countJobDetailUpdateReqVOList) { for(CountJobDetailUpdateReqVO countJobDetailUpdateReqVO : countJobDetailUpdateReqVOList) {
CountRecordDetailDO countRecordDetailDO = new CountRecordDetailDO(); CountRecordDetailDO countRecordDetailDO = new CountRecordDetailDO();
BeanUtils.copyProperties(countJobDetailUpdateReqVO, 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.setMasterId(countRecordMainDO.getId());
countRecordDetailDO.setNumber(number); countRecordDetailDO.setNumber(number);
countRecordDetailDO.setJobDetailId(String.valueOf(countJobDetailUpdateReqVO.getId())); 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")) {//循环盘点 } else if (mainDO.getType().equals("CYCLE")) {//循环盘点
// 添加 Job 到 Quartz 中 // 添加 Job 到 Quartz 中
try { 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) { } catch (SchedulerException e) {
throw new ServiceException(COUNT_PLAN_CRON_ERROR); throw new ServiceException(COUNT_PLAN_CRON_ERROR);
} }

Loading…
Cancel
Save