diff --git a/src/main/java/com/huaheng/common/constant/QuantityConstant.java b/src/main/java/com/huaheng/common/constant/QuantityConstant.java new file mode 100644 index 0000000..252a0fe --- /dev/null +++ b/src/main/java/com/huaheng/common/constant/QuantityConstant.java @@ -0,0 +1,352 @@ +package com.huaheng.common.constant; + +/** + * 数字自定义常量 + * + * @author ricard + */ +public class QuantityConstant { + /** + * 1、入库单状态 + * 2、出库单状态 + * 3、单据上传状态 + * 4、入库组盘状态 + * 5、出库组盘状态 + * 6、任务类型 + * 7、任务状态 + * 8、波次状态 + * 9、质检状态 + * 10、盘点状态 + * 11、库存交易类型 + * 12、调整单状态 + * 13、任务内部类型 + * 14、质检单类型 + */ + + //1、入库单状态 + + //新建 + public static final Integer RECEIPT_HEADER_BUILD = 0; + + //等待审核 + public static final Integer RECEIPT_HEADER_MODERATED = 5; + + //驳回 + public static final Integer RECEIPT_HEADER_TURNDOWN = 10; + + //作废 + public static final Integer RECEIPT_HEADER_OBSOLETE = 20; + + //订单池 + public static final Integer RECEIPT_HEADER_POOL = 100; + + //入库预约 + public static final Integer RECEIPT_HEADER_RESERVATION = 120; + + //入库到货 + public static final Integer RECEIPT_HEADER_ARRIVAL = 150; + + //入库质检 + public static final Integer RECEIPT_HEADER_CHECK = 180; + + //收货 + public static final Integer RECEIPT_HEADER_RECEIVING = 200; + + //定位 + public static final Integer RECEIPT_HEADER_POSITION = 240; + + //等待上架 + public static final Integer RECEIPT_HEADER_WAIT = 280; + + //上架 + public static final Integer RECEIPT_HEADER_SHELF = 300; + + //过账 + public static final Integer RECEIPT_HEADER_POSTING = 800; + + //回传 + public static final Integer RECEIPT_HEADER_RETURN = 900; + + + + + + //2、出库单状态 + + //新建 + public static final Integer SHIPMENT_HEADER_BUILD = 0; + + //订单池 + public static final Integer SHIPMENT_HEADER_POOL = 100; + + //出库预约 + public static final Integer SHIPMENT_HEADER_RESERVATION = 120; + + //订单分析 + public static final Integer SHIPMENT_HEADER_ANALYSIS = 150; + + //波次 + public static final Integer SHIPMENT_HEADER_WAVE = 200; + + //出库组盘 + public static final Integer SHIPMENT_HEADER_GROUPDISK = 300; + + //拣货完成 + public static final Integer SHIPMENT_HEADER_COMPLETED = 500; + + //发运 + public static final Integer SHIPMENT_HEADER_SHIPPING = 800; + + //回传 + public static final Integer SHIPMENT_HEADER_RETURN = 900; + + + + + //3、单据上传状态 + + //未上传 + public static final Integer UPLOAD_NOT = 0; + + //上传失败 + public static final Integer UPLOAD_FAILED = 10; + + //上架完成 + public static final Integer UPLOAD_SUCCESS = 20; + + + + + //4、入库组盘状态 + + //新建 + public static final Integer RECEIPT_CONTAINER_BUILD = 0; + + //生成任务 + public static final Integer RECEIPT_CONTAINER_TASK= 10; + + //上架完成 + public static final Integer RECEIPT_CONTAINER_FINISHED = 20; + + //复核完成 + public static final Integer RECEIPT_CONTAINER_REVIEWSUCCESS = 30; + + + + //5、出库组盘状态 + + //新建 + public static final Integer SHIPMENT_CONTAINER_BUILD = 0; + + //生成任务 + public static final Integer SHIPMENT_CONTAINER_TASK= 10; + + //拣货完成 + public static final Integer SHIPMENT_CONTAINER_FINISHED = 20; + + //复核完成 + public static final Integer SHIPMENT_CONTAINER_REVIEWSUCCESS = 30; + + + + //6、任务类型 + + //整盘入库 + public static final Integer TASK_TYPE_WHOLERECEIPT = 100; + + //补充入库 + public static final Integer TASK_TYPE_SUPPLEMENTRECEIPT = 200; + + //整盘出库 + public static final Integer TASK_TYPE_WHOLESHIPMENT = 300; + + //分拣出库 + public static final Integer TASK_TYPE_SORTINGSHIPMENT = 400; + + //空容器入库 + public static final Integer TASK_TYPE_EMPTYRECEIPT = 500; + + //空容器出库 + public static final Integer TASK_TYPE_EMPTYSHIPMENT = 600; + + //盘点 + public static final Integer TASK_TYPE_CYCLECOUNT = 700; + + //移库 + public static final Integer TASK_TYPE_TRANSFER = 800; + + //出库查看 + public static final Integer TASK_TYPE_VIEW = 900; + + + + //7、任务状态 + + //生成任务 + public static final Integer TASK_STATUS_BUILD = 1; + + //下达任务 + public static final Integer TASK_STATUS_RELEASE = 10; + + //开始执行 + public static final Integer TASK_STATUS_RUNNING = 20; + + //任务完成 + public static final Integer TASK_STATUS_COMPLETED = 100; + + + //8、波次状态 + + //新建波次 + public static final Integer WAVE_STATUS_BUILD = 0; + + //开始波次 + public static final Integer WAVE_STATUS_START = 100; + + //剔除不符合条件订单 + public static final Integer WAVE_STATUS_EXCLUDE = 150; + + //指定分配规则 + public static final Integer WAVE_STATUS_ASSIGN = 200; + + //分配库存 + public static final Integer WAVE_STATUS_ALLOCATION = 300; + + //订单分组 + public static final Integer WAVE_STATUS_GROUPING = 400; + + //创建货箱 + public static final Integer WAVE_STATUS_CREATECONTAINER = 500; + + //生成任务 + public static final Integer WAVE_STATUS_BUILDTASK = 600; + + //结束波次 + public static final Integer WAVE_STATUS_END = 900; + + //失败 + public static final Integer WAVE_STATUS_FAILED = 999; + + + + //9、质检状态 + + //新建 + public static final Integer CHECK_STATUS_BUILD = 0; + + //质检中 + public static final Integer CHECK_STATUS_IN = 10; + + //质检完成 + public static final Integer CHECK_STATUS_COMPLETED = 20; + + + + //10、盘点状态 + + //新建 + public static final Integer CYCLECOUNT_STATUS_BUILD = 1; + + //盘点任务生成 + public static final Integer CYCLECOUNT_STATUS_BUILDTASK = 5; + + //执行中 + public static final Integer CYCLECOUNT_STATUS_EXECUTING = 10; + + //已登记 + public static final Integer CYCLECOUNT_STATUS_REGISTERED= 15; + + //审核 + public static final Integer CYCLECOUNT_STATUS_REVIEW = 30; + + //关闭 + public static final Integer CYCLECOUNT_STATUS_CLOSE = 99; + + //盘点完成 + public static final Integer CYCLECOUNT_STATUS_COMPLETED = 100; + + //已生成调整单 + public static final Integer CYCLECOUNT_STATUS_GENERATEADJUST = 101; + + + + //11、库存交易类型 + + //入库 + public static final Integer INVENTORY_TRANSACTION_RECEIPT = 10; + + //出库 + public static final Integer INVENTORY_TRANSACTION_SHIPMENT = 20; + + //调整入 + public static final Integer INVENTORY_TRANSACTION_ADJUSTINTO = 30; + + //调整出 + public static final Integer INVENTORY_TRANSACTION_ADJUSTOUT = 40; + + //调整属性 + public static final Integer INVENTORY_TRANSACTION_ADJUSTPROPERTIES = 50; + + //盘点 + public static final Integer INVENTORY_TRANSACTION_CYCLECOUNT = 60; + + //移库入 + public static final Integer INVENTORY_TRANSACTION_TRANSFERINTO = 70; + + //移库出 + public static final Integer INVENTORY_TRANSACTION_TRANSFEROUT = 80; + + + //12、调整单状态 + + //未批准 + public static final Integer ADJUST_STATUS_NOAPPROVED = 0; + + //已批准 + public static final Integer ADJUST_STATUS_APPROVED = 1; + + //待调整 + public static final Integer ADJUST_STATUS_WAIT = 2; + + //已调整 + public static final Integer ADJUST_STATUS_STOP = 3; + + + //13、任务内部类型 + + //上架任务 + public static final Integer TASK_INTENERTYPE_SHELF = 100; + + //拣货任务 + public static final Integer TASK_INTENERTYPE_PICKING = 200; + + //补货任务 + public static final Integer TASK_INTENERTYPE_SUPPLEMENT = 300; + + //工作任务 + public static final Integer TASK_INTENERTYPE_WORK = 400; + + //质检任务 + public static final Integer TASK_INTENERTYPE_CHECK = 500; + + //移库任务 + public static final Integer TASK_INTENERTYPE_TRANSFER = 600; + + //盘点任务 + public static final Integer TASK_INTENERTYPE_CYCLECOUNT = 700; + + + + //13、质检单类型 + + //入库质检 + public static final Integer CHECK_TYPE_RECEIPT = 100; + + //在库全检 + public static final Integer CHECK_TYPE_FULL = 200; + + //在库抽检 + public static final Integer CHECK_TYPE_SELECT = 300; + + +} diff --git a/src/main/java/com/huaheng/pc/check/checkDetail/service/CheckDetailService.java b/src/main/java/com/huaheng/pc/check/checkDetail/service/CheckDetailService.java index ba3888a..9a520a9 100644 --- a/src/main/java/com/huaheng/pc/check/checkDetail/service/CheckDetailService.java +++ b/src/main/java/com/huaheng/pc/check/checkDetail/service/CheckDetailService.java @@ -2,6 +2,7 @@ package com.huaheng.pc.check.checkDetail.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.huaheng.common.constant.QuantityConstant; import com.huaheng.common.exception.service.ServiceException; import com.huaheng.common.support.Convert; import com.huaheng.common.utils.security.ShiroUtils; @@ -58,7 +59,7 @@ public class CheckDetailService extends ServiceImpl<CheckDetailMapper, CheckDeta checkDetail.setCheckBy(ShiroUtils.getLoginName()); checkDetail.setCheckAt(new Date()); - checkDetail.setStatus("20"); + checkDetail.setStatus((QuantityConstant.CHECK_STATUS_COMPLETED).toString()); checkDetail.setLastUpdated(new Date()); checkDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); if (!this.updateById(checkDetail)){ @@ -71,7 +72,7 @@ public class CheckDetailService extends ServiceImpl<CheckDetailMapper, CheckDeta //判断头表下所有明细是否全部完成 boolean result = false; for (CheckDetail checkDetail1 : checkDetails){ - if ("20".equals(checkDetail1.getStatus())){ + if ((QuantityConstant.CHECK_STATUS_COMPLETED).toString().equals(checkDetail1.getStatus())){ result = true; } else { result = false; @@ -80,7 +81,7 @@ public class CheckDetailService extends ServiceImpl<CheckDetailMapper, CheckDeta if (result){ CheckHeader checkHeader = new CheckHeader(); checkHeader.setId(checkDetail.getCheckHeaderId()); - checkHeader.setStatus("30"); + checkHeader.setStatus((QuantityConstant.CHECK_STATUS_COMPLETED).toString()); if ( !checkHeaderService.updateById(checkHeader)){ throw new ServiceException("质检头表更新失败"); } diff --git a/src/main/java/com/huaheng/pc/check/checkingRegister/controller/CheckingRegisterController.java b/src/main/java/com/huaheng/pc/check/checkingRegister/controller/CheckingRegisterController.java index a611dea..8b7b16c 100644 --- a/src/main/java/com/huaheng/pc/check/checkingRegister/controller/CheckingRegisterController.java +++ b/src/main/java/com/huaheng/pc/check/checkingRegister/controller/CheckingRegisterController.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fasterxml.jackson.databind.ser.Serializers; +import com.huaheng.common.constant.QuantityConstant; import com.huaheng.common.support.Convert; import com.huaheng.common.utils.StringUtils; import com.huaheng.common.utils.security.ShiroUtils; @@ -134,7 +135,7 @@ public class CheckingRegisterController extends BaseController { List emptyList = checkingRegisterService.emptyList(checkingRegister.getCheckDetailId()); return getMpDataTable(emptyList, Long.valueOf(emptyList.size())); } - if (!"20".equals(checkDetail.getStatus())){ + if (!(QuantityConstant.CHECK_STATUS_COMPLETED).toString().equals(checkDetail.getStatus())){ //未完成质检list List notCompleteList = checkingRegisterService.notCompleteList(checkingRegister.getCheckDetailId()); return getMpDataTable(notCompleteList, Long.valueOf(notCompleteList.size())); @@ -149,7 +150,7 @@ public class CheckingRegisterController extends BaseController { List emptyList = checkingRegisterService.emptyList(checkingRegister.getCheckDetailId()); return getMpDataTable(emptyList, Long.valueOf(emptyList.size())); } - if (!"20".equals(checkDetail.getStatus())){ + if (!(QuantityConstant.CHECK_STATUS_COMPLETED).toString().equals(checkDetail.getStatus())){ //未完成质检list List notCompleteList = checkingRegisterService.notCompleteList(checkingRegister.getCheckDetailId()); return getMpDataTable(notCompleteList, Long.valueOf(notCompleteList.size())); diff --git a/src/main/java/com/huaheng/pc/config/cycleCountPreference/controller/cycleCountPreferenceController.java b/src/main/java/com/huaheng/pc/config/cycleCountPreference/controller/cycleCountPreferenceController.java index 8c4d5a1..b90d9a0 100644 --- a/src/main/java/com/huaheng/pc/config/cycleCountPreference/controller/cycleCountPreferenceController.java +++ b/src/main/java/com/huaheng/pc/config/cycleCountPreference/controller/cycleCountPreferenceController.java @@ -44,6 +44,8 @@ public class cycleCountPreferenceController extends BaseController { private String prefix = "config/cycleCountPreference"; + + @RequiresPermissions("config:cycleCountPreference:view") @GetMapping() public String cyclecountHeader() { @@ -53,7 +55,7 @@ public class cycleCountPreferenceController extends BaseController { /** * 查询盘点单主列表 */ - //@RequiresPermissions("inventory:cycleCount:list") + @RequiresPermissions("config:cycleCountPreference:list") @PostMapping("/list") @Log(title = "配置-库存配置",operating = "盘点首选项", action = BusinessType.GRANT) @ResponseBody @@ -102,7 +104,7 @@ public class cycleCountPreferenceController extends BaseController { /** * 新增保存盘点首选项 */ - //@RequiresPermissions("config:receiptPreference:add") + @RequiresPermissions("config:cycleCountPreference:add") @Log(title = "配置-盘点首选项", operating = "新增盘点首选项", action = BusinessType.INSERT) @PostMapping("/addSave") @ResponseBody @@ -125,7 +127,7 @@ public class cycleCountPreferenceController extends BaseController { /** * 修改保存盘点首选项 */ - //@RequiresPermissions("config:receiptPreference:edit") + @RequiresPermissions("config:cycleCountPreference:edit") @Log(title = "通用-盘点首选项", operating = "修改盘点首选项", action = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody @@ -151,7 +153,7 @@ public class cycleCountPreferenceController extends BaseController { /** * 删除盘点首选项 */ - //@RequiresPermissions("config:receiptPreference:remove") + @RequiresPermissions("config:cycleCountPreference:remove") @Log(title = "通用-盘点首选项", operating = "删除盘点首选项", action = BusinessType.DELETE) @PostMapping( "/remove") @ResponseBody diff --git a/src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java index 724fd2c..0ea378d 100644 --- a/src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java +++ b/src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java @@ -2,6 +2,7 @@ package com.huaheng.pc.inventory.adjustDetail.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.huaheng.common.constant.QuantityConstant; import com.huaheng.common.utils.StringUtils; import com.huaheng.common.utils.security.ShiroUtils; import com.huaheng.framework.web.domain.AjaxResult; @@ -89,6 +90,11 @@ public class AdjustDetailServiceImpl extends ServiceImpl<AdjustDetailMapper, Adj return AjaxResult.error("没有该条库存明细"); } } + //明细单据的上层单编码需要和主单一直,主单空值则不判断 + if(StringUtils.isNotEmpty(adjustHeader.getCycleCountCode()) || StringUtils.isNotEmpty(adjustHeader.getCheckCode())){ + adjustDetail.setCycleCountCode(adjustHeader.getCycleCountCode()); + adjustDetail.setCheckCode(adjustHeader.getCheckCode()); + } //检查盘点单 if(StringUtils.isNotEmpty(adjustDetail.getCycleCountCode())){ CycleCountDetail cycleCountDetail = cycleCountDetailService.getById(adjustDetail.getCheckDetailId()); @@ -248,7 +254,7 @@ public class AdjustDetailServiceImpl extends ServiceImpl<AdjustDetailMapper, Adj inventoryTransaction.setCompanyCode(inventoryDetail.getCompanyCode()); inventoryTransaction.setLocationCode(inventoryDetail.getLocationCode()); inventoryTransaction.setContainerCode(inventoryDetail.getContainerCode()); - inventoryTransaction.setTransactionType(40); + inventoryTransaction.setTransactionType(QuantityConstant.INVENTORY_TRANSACTION_ADJUSTOUT ); inventoryTransaction.setMaterialCode(inventoryDetail.getMaterialCode()); inventoryTransaction.setMaterialName(inventoryDetail.getMaterialName()); inventoryTransaction.setMaterialSpec(inventoryDetail.getMaterialSpec()); @@ -308,7 +314,7 @@ public class AdjustDetailServiceImpl extends ServiceImpl<AdjustDetailMapper, Adj inventoryTransaction.setCompanyCode(inventoryDetail.getCompanyCode()); inventoryTransaction.setLocationCode(inventoryDetail.getLocationCode()); inventoryTransaction.setContainerCode(inventoryDetail.getContainerCode()); - inventoryTransaction.setTransactionType(40); + inventoryTransaction.setTransactionType(QuantityConstant.INVENTORY_TRANSACTION_ADJUSTOUT ); inventoryTransaction.setMaterialCode(inventoryDetail.getMaterialCode()); inventoryTransaction.setMaterialName(inventoryDetail.getMaterialName()); inventoryTransaction.setMaterialSpec(inventoryDetail.getMaterialSpec()); @@ -341,7 +347,7 @@ public class AdjustDetailServiceImpl extends ServiceImpl<AdjustDetailMapper, Adj inventoryTransaction2.setCompanyCode(inventoryDetail.getCompanyCode()); inventoryTransaction2.setLocationCode(inventoryDetail.getLocationCode()); inventoryTransaction2.setContainerCode(inventoryDetail.getContainerCode()); - inventoryTransaction2.setTransactionType(30); + inventoryTransaction2.setTransactionType(QuantityConstant.INVENTORY_TRANSACTION_ADJUSTINTO); inventoryTransaction2.setMaterialCode(inventoryDetail.getMaterialCode()); inventoryTransaction2.setMaterialName(inventoryDetail.getMaterialName()); inventoryTransaction2.setMaterialSpec(inventoryDetail.getMaterialSpec()); @@ -450,7 +456,7 @@ public class AdjustDetailServiceImpl extends ServiceImpl<AdjustDetailMapper, Adj inventoryTransaction.setCompanyCode(inventoryDetail.getCompanyCode()); inventoryTransaction.setLocationCode(inventoryDetail.getLocationCode()); inventoryTransaction.setContainerCode(inventoryDetail.getContainerCode()); - inventoryTransaction.setTransactionType(30); + inventoryTransaction.setTransactionType(QuantityConstant.INVENTORY_TRANSACTION_ADJUSTINTO); inventoryTransaction.setMaterialCode(inventoryDetail.getMaterialCode()); inventoryTransaction.setMaterialName(inventoryDetail.getMaterialName()); inventoryTransaction.setMaterialSpec(inventoryDetail.getMaterialSpec()); diff --git a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailServiceImpl.java index ca767fc..bfbed10 100644 --- a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailServiceImpl.java +++ b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailServiceImpl.java @@ -3,6 +3,7 @@ package com.huaheng.pc.inventory.cycleCountDetail.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.huaheng.common.constant.QuantityConstant; import com.huaheng.common.exception.service.ServiceException; import com.huaheng.common.utils.StringUtils; import com.huaheng.common.utils.security.ShiroUtils; @@ -75,7 +76,7 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap cycleCountHeader.setCompanyCode(cycleCountDetail.getCompanyCode()); LambdaQueryWrapper<CycleCountHeader> lambdaQueryWrapper = Wrappers.lambdaQuery(cycleCountHeader); cycleCountHeader = cycleCountHeaderService.getOne(lambdaQueryWrapper); - if(cycleCountHeader.getStatusCyc() < 10 ){ + if(cycleCountHeader.getStatusCyc() < QuantityConstant.CYCLECOUNT_STATUS_EXECUTING){ //主单状态小于10则修改 cycleCountHeader.setStatusCyc(status); //主单状态 cycleCountHeaderService.saveOrUpdate(cycleCountHeader); @@ -103,7 +104,7 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap if(cyclecountHeader==null){ return AjaxResult.error("盘点主单据不存在"); } - if(cyclecountHeader.getStatusCyc() > 1){ + if(cyclecountHeader.getStatusCyc() > QuantityConstant.CYCLECOUNT_STATUS_BUILD){ return AjaxResult.error("盘点单非新建状态,无法再添加明细"); } //默认盘点配置,首选项 @@ -195,7 +196,7 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap int count = 0; int countErr = 0; for(CycleCountDetail item:list){ - if(item.getEnableStatus() < 5 && item.getTaskHeaderId() == null){ + if(item.getEnableStatus() < QuantityConstant.CYCLECOUNT_STATUS_BUILDTASK && item.getTaskHeaderId() == null){ AjaxResult result = this.createCycleCoutTaskByDetailId(item.getId()); if(result.getCode()==200){ count++; @@ -246,11 +247,11 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap //查询任务头和明细有相同容器,没有就新增任务头和明细 LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); taskHeaderLambdaQueryWrapper - .lt(TaskHeader::getStatus,100) + .lt(TaskHeader::getStatus,QuantityConstant.TASK_STATUS_COMPLETED) .eq(TaskHeader::getWarehouseCode,ShiroUtils.getWarehouseCode()) .eq(TaskHeader::getCompanyCode,cycleCountDetail.getCompanyCode()) - .eq(TaskHeader::getInternalTaskType,700) - .eq(TaskHeader::getTaskType,700) + .eq(TaskHeader::getInternalTaskType,QuantityConstant.TASK_INTENERTYPE_CYCLECOUNT) + .eq(TaskHeader::getTaskType,QuantityConstant.TASK_TYPE_CYCLECOUNT) .eq(TaskHeader::getContainerCode,cycleCountDetail.getContainerCode());//容器 List<TaskHeader> taskHeaderList = taskHeaderService.list(taskHeaderLambdaQueryWrapper); @@ -260,10 +261,10 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap //存在相同容器的主任务直接加入该条主任务的明细 task.setWarehouseCode(ShiroUtils.getWarehouseCode()); task.setCompanyCode(cycleCountDetail.getCompanyCode()); - task.setInternalTaskType(700); - task.setTaskType(700); + task.setInternalTaskType(QuantityConstant.TASK_INTENERTYPE_CYCLECOUNT); + task.setTaskType(QuantityConstant.TASK_TYPE_CYCLECOUNT); task.setContainerCode(cycleCountDetail.getContainerCode()); - task.setStatus(0); + task.setStatus(QuantityConstant.TASK_STATUS_BUILD); task.setFromLocation(cycleCountDetail.getLocationCode()); task.setToLocation(cycleCountDetail.getLocationCode()); task.setCreated(new Date()); @@ -320,7 +321,7 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap //cycleCountDetail.setTaskHeaderId(task.getId()); cycleCountDetail.setLastUpdated(new Date()); cycleCountDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); - cycleCountDetail.setEnableStatus(5); + cycleCountDetail.setEnableStatus(QuantityConstant.CYCLECOUNT_STATUS_BUILDTASK); cycleCountDetail.setTaskHeaderId(task.getId()); cycleCountDetail.setTaskDetailId(taskDetail.getId()); this.saveOrUpdate(cycleCountDetail); @@ -331,7 +332,7 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap cycleCountHeader.setCompanyCode(cycleCountDetail.getCompanyCode()); LambdaQueryWrapper<CycleCountHeader> lamb = Wrappers.lambdaQuery(cycleCountHeader); cycleCountHeader = cycleCountHeaderService.getOne(lamb); - cycleCountHeader.setStatusCyc(5); + cycleCountHeader.setStatusCyc(QuantityConstant.CYCLECOUNT_STATUS_BUILDTASK); cycleCountHeaderService.saveOrUpdate(cycleCountHeader); return AjaxResult.success("盘点任务生成成功"); } @@ -354,10 +355,10 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap LambdaQueryWrapper<CycleCountHeader> cycleCountHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(cycleCountHeader); cycleCountHeader = cycleCountHeaderService.getOne(cycleCountHeaderLambdaQueryWrapper); //主单 //任务执行后再实盘登记 - if(cyclecountDetail.getEnableStatus() < 10){ + if(cyclecountDetail.getEnableStatus() < QuantityConstant.CYCLECOUNT_STATUS_EXECUTING){ return AjaxResult.error("盘点任务未执行不能登记数量!"); } - if(cyclecountDetail.getEnableStatus() == 100){ + if(cyclecountDetail.getEnableStatus() == QuantityConstant.CYCLECOUNT_STATUS_COMPLETED){ return AjaxResult.error("盘点任务完成后不能再登记数量!"); } if(cycleCountHeader == null){ @@ -380,7 +381,7 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap } cyclecountDetail.setCountedQty(qty); cyclecountDetail.setGapQty(qty.subtract(cyclecountDetail.getSystemQty())); - cyclecountDetail.setEnableStatus(15); + cyclecountDetail.setEnableStatus(QuantityConstant.CYCLECOUNT_STATUS_REGISTERED); cyclecountDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); cyclecountDetail.setLastUpdated(new Date()); this.saveOrUpdate(cyclecountDetail); @@ -454,7 +455,7 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap item.setCycleCountHeadCode(cycleCountHeaderCode1); item.setCountedQty(null); item.setGapQty(BigDecimal.ZERO); - item.setEnableStatus(1); + item.setEnableStatus(QuantityConstant.CYCLECOUNT_STATUS_BUILD); item.setCreatedBy(ShiroUtils.getLoginName()); item.setCreated(new Date()); cycleCountDetailList.add(item); diff --git a/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/service/CycleCountHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/service/CycleCountHeaderServiceImpl.java index 60dee9f..e6bf6f7 100644 --- a/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/service/CycleCountHeaderServiceImpl.java +++ b/src/main/java/com/huaheng/pc/inventory/cycleCountHeader/service/CycleCountHeaderServiceImpl.java @@ -2,6 +2,7 @@ package com.huaheng.pc.inventory.cycleCountHeader.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.huaheng.common.constant.QuantityConstant; import com.huaheng.common.exception.service.ServiceException; import com.huaheng.common.utils.security.ShiroUtils; import com.huaheng.framework.web.domain.AjaxResult; @@ -66,9 +67,9 @@ public class CycleCountHeaderServiceImpl extends ServiceImpl<CycleCountHeaderMap List<CycleCountDetail> list = cycleCountDetailService.list(lam); //当有子单的状态为100时触发主单的完成状态 //100状态只有全部完成才写入主单 - long count100 = list.stream().filter(t->t.getEnableStatus() == 100).count(); //明细已完成的条数 + long count100 = list.stream().filter(t->t.getEnableStatus() == QuantityConstant.CYCLECOUNT_STATUS_COMPLETED).count(); //明细已完成的条数 if(count100 == list.size() ){ - cyclecountHeader.setStatusCyc(100); + cyclecountHeader.setStatusCyc(QuantityConstant.CYCLECOUNT_STATUS_COMPLETED); this.saveOrUpdate(cyclecountHeader); } //有任何子单没有完成则主单不修改为100 @@ -149,7 +150,7 @@ public class CycleCountHeaderServiceImpl extends ServiceImpl<CycleCountHeaderMap //查询该条盘点单头 id CycleCountHeader cyclecountHeader = cycleCountHeaderMapper.selectById(id); - if(cyclecountHeader.getStatusCyc() < 100){ + if(cyclecountHeader.getStatusCyc() < QuantityConstant.CYCLECOUNT_STATUS_COMPLETED){ //查询是否已生成差异单 throw new ServiceException("该条盘点单无法生成调整单,必须为盘点任务完成,请检查状态!"); } @@ -212,7 +213,7 @@ public class CycleCountHeaderServiceImpl extends ServiceImpl<CycleCountHeaderMap } adjustDetailService.saveBatch(adjustDetails); //修改盘点主单状态为已生成差异单 - cyclecountHeader.setStatusCyc(101); + cyclecountHeader.setStatusCyc(QuantityConstant.CYCLECOUNT_STATUS_GENERATEADJUST); this.saveOrUpdate(cyclecountHeader); return AjaxResult.success("差异调整及明细单生成完毕!"); diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java index 8a55605..1dc07b0 100644 --- a/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java +++ b/src/main/java/com/huaheng/pc/inventory/inventoryDetail/service/InventoryDetailServiceImpl.java @@ -2,6 +2,7 @@ package com.huaheng.pc.inventory.inventoryDetail.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.huaheng.common.constant.QuantityConstant; import com.huaheng.common.exception.service.ServiceException; import com.huaheng.common.utils.StringUtils; import com.huaheng.common.utils.security.ShiroUtils; @@ -92,10 +93,10 @@ public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMappe TaskHeader taskHeader = new TaskHeader(); taskHeader.setWarehouseCode(inventoryDetail.getWarehouseCode()); taskHeader.setCompanyCode(inventoryDetail.getCompanyCode()); - taskHeader.setInternalTaskType(200); - taskHeader.setTaskType(900); + taskHeader.setInternalTaskType(QuantityConstant.TASK_INTENERTYPE_PICKING); + taskHeader.setTaskType(QuantityConstant.TASK_TYPE_VIEW); taskHeader.setContainerCode(inventoryDetail.getContainerCode()); - taskHeader.setStatus(0); + taskHeader.setStatus(QuantityConstant.TASK_STATUS_BUILD); taskHeader.setFromLocation(inventoryDetail.getLocationCode()); taskHeader.setToLocation(inventoryDetail.getLocationCode()); taskHeader.setCreated(new Date()); @@ -178,9 +179,9 @@ public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMappe CheckHeader checkHeader = new CheckHeader(); //判断入库单明细与该单已选中质检的库存明细比较,得出质检单的类型 if(inventoryDetailList.size()>inventoryDetails.size()){ - checkHeader.setType("300"); + checkHeader.setType(QuantityConstant.CHECK_TYPE_SELECT.toString()); }else { - checkHeader.setType("200"); + checkHeader.setType(QuantityConstant.CHECK_TYPE_FULL.toString()); } //生成质检单号code @@ -196,7 +197,7 @@ public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMappe checkHeader.setWarehouseCode(ShiroUtils.getWarehouseCode()); checkHeader.setReferCode(code); checkHeader.setEnable(1); - checkHeader.setStatus("0"); + checkHeader.setStatus(QuantityConstant.CHECK_STATUS_BUILD.toString()); checkHeader.setCreatedBy(ShiroUtils.getLoginName()); Boolean flag=checkHeaderService.save(checkHeader); if(flag == false){ @@ -211,7 +212,7 @@ public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMappe checkDetail.setCheckHeaderId(checkHeader.getId()); checkDetail.setCheckCode(checkCode); checkDetail.setInventoryDetailId(item.getId()); - checkDetail.setStatus("0"); + checkDetail.setStatus(QuantityConstant.CHECK_STATUS_BUILD.toString()); checkDetail.setCreatedBy(ShiroUtils.getLoginName()); checkDetail.setCreated(new Date()); checkDetail.setLastUpdatedBy(null); diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderServiceImpl.java index 849ba97..671dd47 100644 --- a/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderServiceImpl.java +++ b/src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderServiceImpl.java @@ -2,6 +2,7 @@ package com.huaheng.pc.inventory.inventoryHeader.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.huaheng.common.constant.QuantityConstant; import com.huaheng.common.exception.service.ServiceException; import com.huaheng.common.utils.StringUtils; import com.huaheng.common.utils.security.ShiroUtils; @@ -120,10 +121,10 @@ public class InventoryHeaderServiceImpl extends ServiceImpl<InventoryHeaderMappe TaskHeader taskHeader = new TaskHeader(); taskHeader.setWarehouseCode(loc.getWarehouseCode()); taskHeader.setCompanyCode("空容器");//货主 - taskHeader.setInternalTaskType(100); //入库内部类型都给100 - taskHeader.setTaskType(500); + taskHeader.setInternalTaskType(QuantityConstant.TASK_INTENERTYPE_SHELF); //入库内部类型都给100 + taskHeader.setTaskType(QuantityConstant.TASK_TYPE_EMPTYRECEIPT); taskHeader.setContainerCode(container.getCode()); - taskHeader.setStatus(1); + taskHeader.setStatus(QuantityConstant.TASK_STATUS_BUILD); taskHeader.setFromLocation(""); taskHeader.setToLocation(loc.getCode()); taskHeader.setCreated(new Date()); @@ -199,10 +200,10 @@ public class InventoryHeaderServiceImpl extends ServiceImpl<InventoryHeaderMappe TaskHeader taskHeader = new TaskHeader(); taskHeader.setWarehouseCode(loc.getWarehouseCode()); taskHeader.setCompanyCode("空容器");//货主 - taskHeader.setInternalTaskType(200); //出库内部类型都给200 - taskHeader.setTaskType(600); + taskHeader.setInternalTaskType(QuantityConstant.TASK_INTENERTYPE_PICKING); //出库内部类型都给200 + taskHeader.setTaskType(QuantityConstant.TASK_TYPE_EMPTYSHIPMENT); taskHeader.setContainerCode(container.getCode()); - taskHeader.setStatus(1); + taskHeader.setStatus(QuantityConstant.TASK_STATUS_BUILD); taskHeader.setFromLocation(sourceLocation); taskHeader.setToLocation(""); taskHeader.setCreated(new Date()); @@ -272,10 +273,10 @@ public class InventoryHeaderServiceImpl extends ServiceImpl<InventoryHeaderMappe TaskHeader taskHeader = new TaskHeader(); taskHeader.setWarehouseCode(loc.getWarehouseCode()); taskHeader.setCompanyCode("空容器");//货主 - taskHeader.setInternalTaskType(200); //出库内部类型都给200 - taskHeader.setTaskType(900); + taskHeader.setInternalTaskType(QuantityConstant.TASK_INTENERTYPE_PICKING); //出库内部类型都给200 + taskHeader.setTaskType(QuantityConstant.TASK_TYPE_VIEW); taskHeader.setContainerCode(container.getCode()); - taskHeader.setStatus(1); + taskHeader.setStatus(QuantityConstant.TASK_STATUS_BUILD); taskHeader.setFromLocation(location); taskHeader.setToLocation(location); taskHeader.setCreated(new Date()); diff --git a/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailServiceImpl.java b/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailServiceImpl.java index 322490d..e73692b 100644 --- a/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailServiceImpl.java +++ b/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailServiceImpl.java @@ -3,6 +3,7 @@ package com.huaheng.pc.receipt.receiptContainerDetail.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.huaheng.common.constant.QuantityConstant; import com.huaheng.common.exception.service.ServiceException; import com.huaheng.common.utils.security.ShiroUtils; import com.huaheng.framework.web.domain.AjaxResult; @@ -54,7 +55,7 @@ public class ReceiptContainerDetailServiceImpl extends ServiceImpl<ReceiptContai for (Integer id : idList){ ReceiptContainerDetail receiptContainerDetail = this.getById(id); //如果已生成任务不允许撤销 - if (receiptContainerDetail.getStatus() < 10){ + if (receiptContainerDetail.getStatus() < QuantityConstant.RECEIPT_CONTAINER_TASK){ //回滚入库单明细收货数量 ReceiptDetail receiptDetail = receiptDetailService.getById(receiptContainerDetail.getReceiptDetailId()); receiptDetail.setOpenQty(receiptDetail.getOpenQty().subtract(receiptContainerDetail.getQty())); @@ -84,8 +85,8 @@ public class ReceiptContainerDetailServiceImpl extends ServiceImpl<ReceiptContai if (containerDetailList.size() == 0){ ReceiptHeader receiptHeader = new ReceiptHeader(); receiptHeader.setId(receiptContainerDetail.getReceiptId()); - receiptHeader.setFirstStatus(200); - receiptHeader.setLastStatus(200); + receiptHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_RECEIVING); + receiptHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_RECEIVING); receiptHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); if (!receiptHeaderService.updateById(receiptHeader)){ throw new ServiceException("回滚头表状态失败"); } diff --git a/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java index 1495ec0..e303653 100644 --- a/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java +++ b/src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.huaheng.common.constant.QuantityConstant; import com.huaheng.common.exception.service.ServiceException; import com.huaheng.common.utils.security.ShiroUtils; import com.huaheng.framework.web.domain.AjaxResult; @@ -74,7 +75,7 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai if (taskType == 1){ //创建临时容器 containerCode = createContainer(); - taskType = 100; + taskType = QuantityConstant.TASK_TYPE_WHOLERECEIPT; }else { if (taskType == 0){ throw new ServiceException("容器状态未知"); } } @@ -87,7 +88,7 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai //根据容器编码查询组盘表头记录 LambdaQueryWrapper<ReceiptContainerHeader> lambda = Wrappers.lambdaQuery(); lambda.eq(ReceiptContainerHeader::getContainerCode, containerCode) - .eq(ReceiptContainerHeader::getStatus, 0); + .eq(ReceiptContainerHeader::getStatus, QuantityConstant.RECEIPT_CONTAINER_BUILD); List<ReceiptContainerHeader> list = this.list(lambda); ReceiptContainerHeader receiptContainerHeader = new ReceiptContainerHeader(); @@ -111,7 +112,7 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai } } else { receiptContainerHeader = list.get(0); - if (receiptContainerHeader.getStatus() > 9 && receiptContainerHeader.getStatus() < 20){ + if (receiptContainerHeader.getStatus() >= QuantityConstant.RECEIPT_CONTAINER_TASK && receiptContainerHeader.getStatus() < QuantityConstant.RECEIPT_CONTAINER_FINISHED){ throw new ServiceException("容器已经生成任务,不能放物料了!"); } } @@ -130,8 +131,8 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai receiptContainerDetailAdd(receiptContainerHeaders.get(0).getId(), receiptDetail, qty, containerCode, locationCode); //如果单据数量等于已收数量,更新入库详情状态和入库单状态 - if (receiptDetail.getTotalQty().equals(receiptDetail.getOpenQty())){ - receiptDetail.setProcessStamp("200"); + if (receiptDetail.getTotalQty() == receiptDetail.getOpenQty()){ + receiptDetail.setProcessStamp(QuantityConstant.RECEIPT_HEADER_RECEIVING.toString()); if (!receiptDetailService.updateById(receiptDetail)){ throw new ServiceException("更新入库详情处理标记失败"); } @@ -155,7 +156,7 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai public Boolean cancelByIds(List<Integer> ids) { for (Integer id : ids) { //如果已生成任务则不允许取消组盘 - if (this.getById(id).getStatus() < 10){ + if (this.getById(id).getStatus() < QuantityConstant.RECEIPT_CONTAINER_TASK){ //根据组盘头表id查询组盘明细表 LambdaQueryWrapper<ReceiptContainerDetail> containerDetailLambda = Wrappers.lambdaQuery(); containerDetailLambda.eq(ReceiptContainerDetail::getReceiptContainerId, id); @@ -178,8 +179,8 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai if (containerDetailList == null){ ReceiptHeader receiptHeader = new ReceiptHeader(); receiptHeader.setId(receiptContainerDetail.getReceiptId()); - receiptHeader.setFirstStatus(200); - receiptHeader.setLastStatus(200); + receiptHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_RECEIVING); + receiptHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_RECEIVING); receiptHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); if (!receiptHeaderService.updateById(receiptHeader)){ throw new ServiceException("回滚头表状态失败"); } @@ -232,15 +233,15 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai //检查该容器编码是否已存任务 LambdaQueryWrapper<TaskHeader> lambdaQueryWrapper = Wrappers.lambdaQuery(); lambdaQueryWrapper.eq(TaskHeader::getContainerCode, containerCode) - .lt(TaskHeader::getStatus, 100) + .lt(TaskHeader::getStatus, QuantityConstant.TASK_STATUS_COMPLETED) .eq(TaskHeader::getWarehouseCode, ShiroUtils.getWarehouseCode()); if (taskHeaderService.count(lambdaQueryWrapper) > 0){ throw new ServiceException("容器已经存在任务,请更换容器"); } if ("empty".equals(container.getStatus())){ - return 100; + return QuantityConstant.TASK_TYPE_WHOLERECEIPT; }else if ("some".equals(container.getStatus())) { - return 200; + return QuantityConstant.TASK_TYPE_SUPPLEMENTRECEIPT; } else if ("full".equals(container.getStatus())) { throw new ServiceException("该容器已满,请更换容器"); } @@ -258,7 +259,7 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai Boolean checkLocationCode(String locationCode, String containerCode, Integer taskType) { //如果选了库位,就要校验库位和已经组盘的库位是否一致,避免重入库 if (StringUtils.isEmpty(locationCode)) { - if ("200".equals(locationCode)) { + if (QuantityConstant.TASK_TYPE_SUPPLEMENTRECEIPT.equals(locationCode)) { throw new ServiceException("补充入库,必须填写库位"); } else { return true; @@ -291,14 +292,12 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai } if (!"empty".equals(location.getStatus()) ) { throw new ServiceException("库位不是空闲状态!"); - } - if ("100".equals(taskType)) { - if (StringUtils.isNotEmpty(location.getContainerCode())){ + if (QuantityConstant.TASK_TYPE_WHOLERECEIPT.equals(taskType)) { + if (com.huaheng.common.utils.StringUtils.isNotEmpty(location.getContainerCode())) throw new ServiceException("库位(" + containerCode + ")有容器(" + location.getContainerCode() + "),不能整盘入库!"); - } } - if("200".equals(taskType)) { - if (com.huaheng.common.utils.StringUtils.isEmpty(location.getContainerCode())) { + if(QuantityConstant.TASK_TYPE_SUPPLEMENTRECEIPT.equals(taskType)) { + if (com.huaheng.common.utils.StringUtils.isEmpty(location.getContainerCode())) throw new ServiceException("库位(" + locationCode + ")没有容器,不能补充入库!"); } else if (!location.getContainerCode().equals(containerCode)) { throw new ServiceException("库位(" + containerCode + ")对应的容器是:" + location.getContainerCode()+ ",请重选库位!"); diff --git a/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java b/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java index be1f0a4..2b302fc 100644 --- a/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java +++ b/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java @@ -2,6 +2,7 @@ package com.huaheng.pc.receipt.receiptDetail.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.huaheng.common.constant.QuantityConstant; import com.huaheng.common.exception.service.ServiceException; import com.huaheng.common.support.Convert; import com.huaheng.common.utils.StringUtils; @@ -74,7 +75,7 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R //判断入库头表状态 if (receiptHeader == null ){ throw new ServiceException("找不到主单据"); - } else if (receiptHeader.getFirstStatus() > 100){ + } else if (receiptHeader.getFirstStatus() > QuantityConstant.RECEIPT_HEADER_POOL){ throw new ServiceException("单据进入订单池后,不允许新增明细"); } else if (receiptHeader.getFirstStatus() == 20) { throw new ServiceException("单据已作废"); @@ -178,8 +179,8 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(receiptDetail.getStatusFlowCode()); String status = nextStatusFlow(statusFlowDetails, receiptDetail.getProcessStamp()); //在状态到达时候是判断是否要质检 - if ("200".equals(status) && inspection(receiptDetail)){ - receiptDetail.setProcessStamp("180"); + if (QuantityConstant.RECEIPT_HEADER_RECEIVING.toString().equals(status) && inspection(receiptDetail)){ + receiptDetail.setProcessStamp(QuantityConstant.RECEIPT_HEADER_CHECK.toString()); } else { receiptDetail.setProcessStamp(status); } @@ -206,8 +207,8 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(receiptType.getReceiptFlow()); String status = nextStatusFlow(statusFlowDetails, receiptDetail.getProcessStamp()); //在状态到达时候是判断是否要质检 - if ("200".equals(status) && inspection(receiptDetail)){ - receiptDetail.setProcessStamp("180"); + if (QuantityConstant.RECEIPT_HEADER_RECEIVING.toString().equals(status) && inspection(receiptDetail)){ + receiptDetail.setProcessStamp(QuantityConstant.RECEIPT_HEADER_CHECK.toString()); } else { receiptDetail.setProcessStamp(status); } @@ -217,8 +218,8 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(material.getReceivingFlow()); String status = nextStatusFlow(statusFlowDetails, receiptDetail.getProcessStamp()); //在状态到达时候是判断是否要质检 - if ("200".equals(status) && inspection(receiptDetail)){ - receiptDetail.setProcessStamp("180"); + if (QuantityConstant.RECEIPT_HEADER_RECEIVING.toString().equals(status) && inspection(receiptDetail)){ + receiptDetail.setProcessStamp(QuantityConstant.RECEIPT_HEADER_CHECK.toString()); } else { receiptDetail.setProcessStamp(status); } @@ -232,8 +233,8 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(materialType.getReceivingFlow()); String status = nextStatusFlow(statusFlowDetails, receiptDetail.getProcessStamp()); //在状态到达时候是判断是否要质检 - if ("200".equals(status) && inspection(receiptDetail)){ - receiptDetail.setProcessStamp("180"); + if (QuantityConstant.RECEIPT_HEADER_RECEIVING.toString().equals(status) && inspection(receiptDetail)){ + receiptDetail.setProcessStamp(QuantityConstant.RECEIPT_HEADER_CHECK.toString()); } else { receiptDetail.setProcessStamp(status); } @@ -251,8 +252,8 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R List<StatusFlowDetail> statusFlowDetails = statusFlowDetailService.queryStatusFlowDetail(receiptPreference.getReceivingFlow()); String status = nextStatusFlow(statusFlowDetails, receiptDetail.getProcessStamp()); //在状态到达时候是判断是否要质检 - if ("200".equals(status) && inspection(receiptDetail)){ - receiptDetail.setProcessStamp("180"); + if (QuantityConstant.RECEIPT_HEADER_RECEIVING.toString().equals(status) && inspection(receiptDetail)){ + receiptDetail.setProcessStamp(QuantityConstant.RECEIPT_HEADER_CHECK.toString()); } else { receiptDetail.setProcessStamp(status); } @@ -353,7 +354,7 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R lambda.eq(ReceiptDetail::getReceiptId, id); List<ReceiptDetail> receiptDetails = this.list(lambda); for (ReceiptDetail receiptDetail : receiptDetails){ - receiptDetail.setProcessStamp("100"); + receiptDetail.setProcessStamp(QuantityConstant.RECEIPT_HEADER_POOL.toString()); receiptDetail = this.queryflow(receiptDetail); if (!this.updateById(receiptDetail)){ throw new ServiceException("更新入库明细表失败"); diff --git a/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java b/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java index b231d2b..15583b0 100644 --- a/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java +++ b/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.api.R; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.huaheng.common.constant.QuantityConstant; import com.huaheng.common.exception.service.ServiceException; import com.huaheng.common.support.Convert; import com.huaheng.common.utils.StringUtils; @@ -67,8 +68,8 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei String code = createCode(receiptHeader.getReceiptType()); receiptHeader.setCode(code); - receiptHeader.setFirstStatus(0); - receiptHeader.setLastStatus(0); + receiptHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_BUILD); + receiptHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_BUILD); receiptHeader.setWarehouseCode(ShiroUtils.getWarehouseCode()); receiptHeader.setCreatedBy(ShiroUtils.getLoginName()); receiptHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); @@ -113,7 +114,7 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei List<ReceiptDetail> receiptDetails = receiptDetailService.list(receiptDetailLambda); //更新入库明细流程 for (ReceiptDetail receiptDetail : receiptDetails) { - receiptDetail.setProcessStamp("120"); + receiptDetail.setProcessStamp(QuantityConstant.RECEIPT_HEADER_RESERVATION.toString()); if (!receiptDetailService.updateById(receiptDetail)){ throw new ServiceException("更新入库明细处理标记失败"); } @@ -139,7 +140,7 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei public AjaxResult arrival(Integer id) { LambdaQueryWrapper<ReceiptDetail> receiptDetailLambda = Wrappers.lambdaQuery(); receiptDetailLambda.eq(ReceiptDetail::getReceiptId, id) - .eq(ReceiptDetail::getProcessStamp, "150"); + .eq(ReceiptDetail::getProcessStamp, QuantityConstant.RECEIPT_HEADER_ARRIVAL.toString()); List<ReceiptDetail> receiptDetails = receiptDetailService.list(receiptDetailLambda); //更新入库明细流程 for (ReceiptDetail receiptDetail : receiptDetails) { @@ -170,11 +171,11 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei //创建质检头表 CheckHeader checkHeader = new CheckHeader(); checkHeader.setCode(receiptHeader.getCode()); - checkHeader.setType("100"); + checkHeader.setType(QuantityConstant.CHECK_TYPE_RECEIPT.toString()); checkHeader.setWarehouseCode(ShiroUtils.getWarehouseCode()); checkHeader.setReferCode(receiptHeader.getReferCode()); checkHeader.setEnable(1); - checkHeader.setStatus("0"); + checkHeader.setStatus(QuantityConstant.CHECK_STATUS_BUILD.toString()); checkHeader.setCreatedBy(ShiroUtils.getLoginName()); checkHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); @@ -200,7 +201,7 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei checkDetail.setMaterialUnit(receiptDetail.getMaterialUnit()); checkDetail.setCompanyCode(receiptDetail.getCompanyCode()); checkDetail.setInventorySts(receiptDetail.getInventorySts()); - checkDetail.setStatus("0"); + checkDetail.setStatus(QuantityConstant.CHECK_STATUS_BUILD.toString()); checkDetail.setQty(receiptDetail.getTotalQty()); checkDetail.setCheckBy(ShiroUtils.getLoginName()); checkDetail.setCreatedBy(ShiroUtils.getLoginName()); @@ -222,11 +223,11 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei Integer[] idArray = Convert.toIntArray(ids); for (int i = 0; i<idArray.length; i++){ ReceiptHeader receiptHeader = this.getById(idArray[i]); - if (receiptHeader.getFirstStatus()>5||receiptHeader.getLastStatus()>5){ + if (receiptHeader.getFirstStatus()>QuantityConstant.RECEIPT_HEADER_MODERATED ||receiptHeader.getLastStatus()>QuantityConstant.RECEIPT_HEADER_MODERATED){ return AjaxResult.error("单据号为"+receiptHeader.getCode()+"入库单不需要审核"); } - receiptHeader.setFirstStatus(5); - receiptHeader.setLastStatus(5); + receiptHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_MODERATED); + receiptHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_MODERATED); if (!this.updateById(receiptHeader)){ throw new ServiceException("更新入库头表失败"); } else { @@ -246,7 +247,7 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei lambda.eq(ReceiptDetail::getReceiptId, id); List<ReceiptDetail> receiptDetails = receiptDetailService.list(lambda); for (ReceiptDetail receiptDetail : receiptDetails) { - receiptDetail.setProcessStamp(String.valueOf(150)); + receiptDetail.setProcessStamp(QuantityConstant.RECEIPT_HEADER_ARRIVAL.toString()); receiptDetailService.updateById(receiptDetail); if (!receiptDetailService.updateById(receiptDetailService.queryflow(receiptDetail))){ throw new ServiceException("更新入库明细处理标记出错"); @@ -270,14 +271,14 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei List<ReceiptDetail> list = receiptDetailService.list(lambdaQueryWrapper); if (list.size() != 0){ for (ReceiptDetail receiptDetail : list){ - if (Integer.parseInt(receiptDetail.getProcessStamp()) < 100){ + if (Integer.parseInt(receiptDetail.getProcessStamp()) < QuantityConstant.RECEIPT_HEADER_POOL){ //判断入库明细是否需要审核 ReceiptDetail beforeReceiptDetail = receiptDetailService.queryflow(receiptDetail); if (Integer.parseInt(beforeReceiptDetail.getProcessStamp()) == 5 || Integer.parseInt(beforeReceiptDetail.getProcessStamp()) == 100){ throw new ServiceException("请先提交审核"); } //加入订单池 - receiptDetail.setProcessStamp("100"); + receiptDetail.setProcessStamp(QuantityConstant.RECEIPT_HEADER_POOL.toString()); ReceiptDetail receiptDetail1 = receiptDetailService.queryflow(receiptDetail); if (!receiptDetailService.updateById(receiptDetail1)){ throw new ServiceException("更新入库明细状态失败"); diff --git a/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/service/ReceiptHeaderHistoryService.java b/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/service/ReceiptHeaderHistoryService.java index b701ea1..ec1111e 100644 --- a/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/service/ReceiptHeaderHistoryService.java +++ b/src/main/java/com/huaheng/pc/receipt/receiptHeaderHistory/service/ReceiptHeaderHistoryService.java @@ -2,6 +2,7 @@ package com.huaheng.pc.receipt.receiptHeaderHistory.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.huaheng.common.constant.QuantityConstant; import com.huaheng.common.exception.service.ServiceException; import com.huaheng.common.utils.security.ShiroUtils; import com.huaheng.framework.web.domain.AjaxResult; @@ -37,8 +38,8 @@ public class ReceiptHeaderHistoryService extends ServiceImpl<ReceiptHeaderHistor public AjaxResult add(Integer id){ ReceiptHeader receiptHeader = receiptHeaderService.getById(id); if (receiptHeader == null) return AjaxResult.success(""); - if((receiptHeader.getFirstStatus()>=800 && receiptHeader.getLastStatus()>=800)|| - (receiptHeader.getFirstStatus()<100 &receiptHeader.getLastStatus()<100)){ + if((receiptHeader.getFirstStatus()>= QuantityConstant.RECEIPT_HEADER_POSTING && receiptHeader.getLastStatus()>=QuantityConstant.RECEIPT_HEADER_POSTING)|| + (receiptHeader.getFirstStatus()<QuantityConstant.RECEIPT_HEADER_POOL &receiptHeader.getLastStatus()<QuantityConstant.RECEIPT_HEADER_POOL)){ ReceiptHeaderHistory receiptHeaderHistory = new ReceiptHeaderHistory(); List<ReceiptDetailHistory> receiptDetailHistoryList = new ArrayList<>(); //查询入库单明细 diff --git a/src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java b/src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java index c2a0ae4..76f11f5 100644 --- a/src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java +++ b/src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java @@ -2,6 +2,7 @@ package com.huaheng.pc.receipt.receiving.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.huaheng.common.constant.QuantityConstant; import com.huaheng.common.exception.service.ServiceException; import com.huaheng.common.utils.StringUtils; import com.huaheng.common.utils.security.ShiroUtils; @@ -84,13 +85,12 @@ public class ReceivingService { @Transactional public Boolean position(ReceiptContainerDetail receiptContainerDetail){ ReceiptContainerHeader receiptContainerHeader = receiptContainerHeaderService.getById(receiptContainerDetail.getReceiptContainerId()); - if (0 !=receiptContainerHeader.getStatus()){ + if (!(0 ==receiptContainerHeader.getStatus())){ throw new ServiceException("该入库组盘已生成任务不能重新定位"); } //如果入库组盘表中有目标库位说明已经指定 if (StringUtils.isNotEmpty(receiptContainerHeader.getToLocation())){return true;} - /*定位规则*/ - String locatingRule = receiptContainerHeader.getLocatingRule(); + String locatingRule = receiptContainerHeader.getLocatingRule(); //定位规则 if (StringUtils.isEmpty(locatingRule)){ locatingRule = receiptDetailService.getById(receiptContainerDetail.getReceiptDetailId()).getLocatingRule(); //入库单明细定位规则不为空时执行 @@ -178,7 +178,7 @@ public class ReceivingService { public AjaxResult cancelPosition(ReceiptContainerDetail receiptContainerDetail){ //查询入库组盘头 ReceiptContainerHeader receiptContainerHeader = receiptContainerHeaderService.getById(receiptContainerDetail.getReceiptContainerId()); - if (receiptContainerHeader.getStatus() != 0){ + if (!(receiptContainerHeader.getStatus().shortValue() == QuantityConstant.RECEIPT_CONTAINER_BUILD)){ throw new ServiceException("组盘已生成任务不能取消定位"); } //将入库组盘头表中的而库位编码赋值null @@ -200,7 +200,7 @@ public class ReceivingService { //回滚入库明细状态 ReceiptDetail receiptDetail = receiptDetailService.getById(receiptContainerDetail.getReceiptDetailId()); - receiptDetail.setProcessStamp("240"); + receiptDetail.setProcessStamp(QuantityConstant.RECEIPT_HEADER_POSITION.toString()); if ( !receiptDetailService.updateById(receiptDetail)){ throw new ServiceException("回滚入库明细状态失败"); } diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java index a358d26..8b94a72 100644 --- a/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java +++ b/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java @@ -2,6 +2,7 @@ package com.huaheng.pc.shipment.shipmentContainerHeader.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.huaheng.common.constant.QuantityConstant; import com.huaheng.common.exception.service.ServiceException; import com.huaheng.common.utils.security.ShiroUtils; import com.huaheng.framework.web.domain.AjaxResult; @@ -131,17 +132,6 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont if (location == null) { throw new ServiceException("库位 " + inventoryDetail.getLocationCode() + " 不存在"); } -// if (location.getStatus().equals("lock")) { -// //如果库位状态是锁定的话,就查找出库组盘表,如果存在未下发 -// LambdaQueryWrapper<ShipmentContainerHeader> lam=Wrappers.lambdaQuery(); -// lam.eq(ShipmentContainerHeader::getWarehouseCode,ShiroUtils.getWarehouseCode()) -// .eq(ShipmentContainerHeader::getContainerCode,location.getContainerCode()) -// .eq(ShipmentContainerHeader::getTaskCreated,0); -// ShipmentContainerHeader shipmentContainerHeader = this.getOne(lam); -// if (shipmentContainerHeader == null) { -// throw new ServiceException("库位已经锁定不能使用"); -// } -// } //2.更新库存分配数 inventoryDetail.setTaskQty(inventoryDetail.getTaskQty().add(shipmentCombinationModel.getShipQty())); @@ -155,9 +145,9 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont shipmentDetail.setRequestQty(shipmentDetail.getRequestQty().add(shipmentCombinationModel.getShipQty())); int i = shipmentDetail.getShipQty().compareTo(shipmentDetail.getRequestQty()); if(i > 0){ - shipmentDetail.setStatus(200); + shipmentDetail.setStatus(QuantityConstant.SHIPMENT_HEADER_WAVE); }else if(i == 0){ - shipmentDetail.setStatus(300); + shipmentDetail.setStatus(QuantityConstant.SHIPMENT_HEADER_GROUPDISK); }else if(i < 0){ throw new ServiceException("出库数量不能大于单据数量!"); } @@ -166,9 +156,9 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont //自动判定出库任务状态,根据库存数量减去预定库存相等就是整盘出--预计任务状态 BigDecimal inventoryQty = inventoryDetail.getQty().subtract(inventoryDetail.getTaskQty()); if(inventoryQty.compareTo(new BigDecimal(0)) <= 0) { - shipmentCombinationModel.setTaskType(300); + shipmentCombinationModel.setTaskType(QuantityConstant.TASK_TYPE_WHOLESHIPMENT); } else { - shipmentCombinationModel.setTaskType(400); + shipmentCombinationModel.setTaskType(QuantityConstant.TASK_TYPE_SORTINGSHIPMENT); } //5.增加出库组盘头 @@ -198,7 +188,7 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont lambdaQueryWrapper.eq(ShipmentContainerHeader::getLocationCode,location.getCode()) .eq(ShipmentContainerHeader::getContainerCode,location.getContainerCode()) .eq(ShipmentContainerHeader::getWarehouseCode,ShiroUtils.getWarehouseCode()) - .le(ShipmentContainerHeader::getStatus,20); + .le(ShipmentContainerHeader::getStatus,QuantityConstant.SHIPMENT_CONTAINER_FINISHED); ShipmentContainerHeader shipmentContainerHeader = this.getOne(lambdaQueryWrapper); if(shipmentContainerHeader != null) { return shipmentContainerHeader; @@ -219,7 +209,7 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont shipmentContainerHeader.setWarehouseCode(ShiroUtils.getWarehouseCode()); shipmentContainerHeader.setCompanyCode(shipmentDetail.getCompanyCode()); shipmentContainerHeader.setContainerType(container.getContainerType()); - shipmentContainerHeader.setStatus(0); + shipmentContainerHeader.setStatus(QuantityConstant.SHIPMENT_CONTAINER_BUILD); shipmentContainerHeader.setTaskCreated(0); shipmentContainerHeader.setCreatedBy(ShiroUtils.getLoginName()); Boolean flag = this.save(shipmentContainerHeader); @@ -292,7 +282,7 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont shipmentContainerDetaill.setQty(shipmentCombinationModel.getShipQty()); shipmentContainerDetaill.setWaveId(shipmentDetail.getWaveId()); shipmentContainerDetaill.setTaskCreated(0); - shipmentContainerDetaill.setStatus(0); + shipmentContainerDetaill.setStatus(QuantityConstant.SHIPMENT_CONTAINER_BUILD); shipmentContainerDetaill.setBatch(shipmentDetail.getBatch()); shipmentContainerDetaill.setLot(shipmentDetail.getLot()); shipmentContainerDetaill.setProjectNo(shipmentDetail.getProjectNo()); @@ -305,10 +295,10 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont //4.查看组盘头状态,如果状态在10到20,则生成任务明细或修改任务明细的数量 //查看任务头 - if(shipmentContainerHeader.getStatus()>=10 && shipmentContainerHeader.getStatus()<30){ + if(shipmentContainerHeader.getStatus()>=QuantityConstant.SHIPMENT_CONTAINER_TASK && shipmentContainerHeader.getStatus()<QuantityConstant.SHIPMENT_CONTAINER_REVIEWSUCCESS){ LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper=Wrappers.lambdaQuery(); taskHeaderLambdaQueryWrapper.eq(TaskHeader::getWarehouseCode,shipmentContainerHeader.getWarehouseCode()) - .eq(TaskHeader::getInternalTaskType,200) + .eq(TaskHeader::getInternalTaskType,QuantityConstant.TASK_INTENERTYPE_PICKING) .eq(TaskHeader::getAllocationHeadId,shipmentContainerHeader.getId()); TaskHeader taskHeader=taskHeaderService.getOne(taskHeaderLambdaQueryWrapper); if(taskHeader==null){ @@ -322,7 +312,7 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont taskDetailLam.eq(TaskDetail::getWarehouseCode,shipmentContainerDetail.getWarehouseCode()) .eq(TaskDetail::getAllocationId,shipmentContainerDetail.getId()) .eq(TaskDetail::getTaskId,taskHeader.getId()) - .eq(TaskDetail::getInternalTaskType,200); + .eq(TaskDetail::getInternalTaskType,QuantityConstant.TASK_INTENERTYPE_PICKING); TaskDetail taskDetail = taskDetailService.getOne(taskDetailLam); if(taskDetail == null){ throw new ServiceException("找不到对应的任务明细"); @@ -356,10 +346,10 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont taskDetail.setWaveId(shipmentContainerDetaill.getWaveId()); taskDetail.setBatch(shipmentContainerDetaill.getBatch()); taskDetail.setProjectNo(shipmentContainerDetail.getProjectNo()); - if (shipmentContainerHeader.getStatus() == 10) { - taskDetail.setStatus(0); + if (shipmentContainerHeader.getStatus() == QuantityConstant.SHIPMENT_CONTAINER_TASK) { + taskDetail.setStatus(QuantityConstant.TASK_STATUS_BUILD); } else { - taskDetail.setStatus(10); + taskDetail.setStatus(QuantityConstant.TASK_STATUS_RELEASE); } taskDetail.setCreatedBy(ShiroUtils.getLoginName()); taskDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); @@ -399,7 +389,7 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont for(ShipmentContainerDetail shipmentContainerDetail:shipmentContainerDetails){ //获取头 ShipmentContainerHeader shipmentContainerHeader = this.getById(shipmentContainerDetail.getShippingContainerId()); - if(shipmentContainerHeader.getStatus()>9){ + if(shipmentContainerHeader.getStatus()>= QuantityConstant.SHIPMENT_CONTAINER_TASK){ return AjaxResult.error("容器"+shipmentContainerHeader.getContainerCode()+"非新建状态,不允许取消明细"); } //恢复占用库存 @@ -410,9 +400,9 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont ShipmentDetail shipmentDetail = shipmentDetailService.getById(shipmentContainerDetail.getShipmentDetailId()); shipmentDetail.setRequestQty(shipmentDetail.getRequestQty().subtract(shipmentContainerDetail.getQty())); if(shipmentDetail.getRequestQty().compareTo(BigDecimal.ZERO) != 0 ){ - shipmentDetail.setStatus(200);//明细状态恢复,如果删除后还有以出数量就是波次 + shipmentDetail.setStatus(QuantityConstant.SHIPMENT_HEADER_WAVE);//明细状态恢复,如果删除后还有以出数量就是波次 }else{ - shipmentDetail.setStatus(100 );//明细状态 + shipmentDetail.setStatus(QuantityConstant.SHIPMENT_HEADER_POOL );//明细状态 } shipmentDetailService.saveOrUpdate(shipmentDetail); //删除这个配盘明细 @@ -511,7 +501,7 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont List<InventoryDetail> inventoryList = shippingCombinationService.getInventorys(item); if(inventoryList.size() < 1 && item.getWaveId() != 0){ Wave wave = waveService.getById(item.getWaveId()); - wave.setStatus(999); + wave.setStatus(QuantityConstant.WAVE_STATUS_FAILED); waveService.updateById(wave); throw new ServiceException("主单为"+item.getShipmentCode()+"子单id为"+item.getId() + "的单据没有库存,波次失败"); } @@ -528,7 +518,7 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont ShipmentCombinationModel shipmentCombination = new ShipmentCombinationModel(); shipmentCombination.setInventoryDetailId(inventory.getId()); shipmentCombination.setShipmentDetailId(item.getId()); - shipmentCombination.setType((short) 300); + shipmentCombination.setType((short) QuantityConstant.TASK_TYPE_WHOLESHIPMENT.intValue()); //如果库存数 >= 待出库数,组盘数就是待出库数并且结束组盘,否则组盘数就是库存数 if (inventoryQty.compareTo(shipmentQty) > -1) { @@ -559,7 +549,7 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont public AjaxResult checkForCancelCombination(List<Integer> shipmentContainerIds) { for(int id : shipmentContainerIds){ ShipmentContainerHeader shipmentContainerHeader = this.getById(id); - if(shipmentContainerHeader.getStatus()>9){ + if(shipmentContainerHeader.getStatus()>=QuantityConstant.SHIPMENT_CONTAINER_TASK){ return AjaxResult.error("存在已生成任务的记录,请先取消任务再取消组盘"); } } diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/ShipmentDetailServiceImpl.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/ShipmentDetailServiceImpl.java index a3f1192..2e0c426 100644 --- a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/ShipmentDetailServiceImpl.java +++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/ShipmentDetailServiceImpl.java @@ -2,6 +2,7 @@ package com.huaheng.pc.shipment.shipmentDetail.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.huaheng.common.constant.QuantityConstant; import com.huaheng.common.exception.service.ServiceException; import com.huaheng.common.support.Convert; import com.huaheng.common.utils.DataUtils; @@ -72,7 +73,7 @@ public class ShipmentDetailServiceImpl extends ServiceImpl<ShipmentDetailMapper, if (shipmentHeader == null) { return AjaxResult.error("找不到主单据"); } - if (shipmentHeader.getFirstStatus() > 100) { + if (shipmentHeader.getFirstStatus() > QuantityConstant.SHIPMENT_HEADER_POOL) { //表示已经加入了波次 return AjaxResult.error("主单据状态不允许新增明细"); } @@ -133,7 +134,7 @@ public class ShipmentDetailServiceImpl extends ServiceImpl<ShipmentDetailMapper, if (list.size() > 1) { return AjaxResult.error("有多个主单据,不能一起删除!"); } - if (list.get(0).get("status") > 100) { + if (list.get(0).get("status") > QuantityConstant.SHIPMENT_HEADER_POOL) { return AjaxResult.error("单据状进入订单池,不允许删除明细"); } Integer result = shipmentDetailMapper.batchDelete(ids); @@ -173,7 +174,7 @@ public class ShipmentDetailServiceImpl extends ServiceImpl<ShipmentDetailMapper, @Override @Transactional public void saveWave(String ids, String code) { - Integer status = 100; + Integer status = QuantityConstant.SHIPMENT_HEADER_POOL; List<ShipmentHeader> shipmentHeaderList =shipmentPreferenceService.checkShipmentProcess(ids,status,code); //找到波次主表,看系统是否有此波次 @@ -222,7 +223,7 @@ public class ShipmentDetailServiceImpl extends ServiceImpl<ShipmentDetailMapper, //查看波次是否建成未执行 LambdaQueryWrapper<Wave> waveLam = Wrappers.lambdaQuery(); - waveLam.eq(Wave::getStatus,0) + waveLam.eq(Wave::getStatus,QuantityConstant.WAVE_STATUS_BUILD) .eq(Wave::getWaveMode,code) .eq(Wave::getWarehouseCode,ShiroUtils.getWarehouseCode()); Wave wave = waveService.getOne(waveLam); @@ -240,8 +241,8 @@ public class ShipmentDetailServiceImpl extends ServiceImpl<ShipmentDetailMapper, wave.setWarehouseCode(ShiroUtils.getWarehouseCode()); wave.setMasterCode(code); wave.setWaveName(waveMaster.getName()); - wave.setStatus(0); - wave.setCurrentWaveStep("0"); + wave.setStatus(QuantityConstant.WAVE_STATUS_BUILD); + wave.setCurrentWaveStep(QuantityConstant.WAVE_STATUS_BUILD.toString()); wave.setTotalShipments(Convert.toIntArray(ids).length); wave.setTotalLines(shipmentDetailList.size()); wave.setTotalQty(qty); @@ -255,8 +256,8 @@ public class ShipmentDetailServiceImpl extends ServiceImpl<ShipmentDetailMapper, //修改出库子单,加入波次ID,并修改状态为波次 for(ShipmentDetail shipmentDetail :shipmentDetailList){ shipmentDetail.setWaveId(wave.getId()); - if(shipmentDetail.getStatus()<200) { - shipmentDetail.setStatus(200); + if(shipmentDetail.getStatus()<QuantityConstant.SHIPMENT_HEADER_WAVE) { + shipmentDetail.setStatus(QuantityConstant.SHIPMENT_HEADER_WAVE); } } @@ -266,7 +267,7 @@ public class ShipmentDetailServiceImpl extends ServiceImpl<ShipmentDetailMapper, } for(ShipmentHeader shipmentHeader :shipmentHeaderList){ - shipmentHeader.setLastStatus(200); + shipmentHeader.setLastStatus(QuantityConstant.SHIPMENT_HEADER_WAVE); } flag = shipmentHeaderService.updateBatchById(shipmentHeaderList); if(flag == false){ diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/service/ShipmentDetailHistoryServiceImpl.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/service/ShipmentDetailHistoryServiceImpl.java index c7bda6c..23bbc34 100644 --- a/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/service/ShipmentDetailHistoryServiceImpl.java +++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/service/ShipmentDetailHistoryServiceImpl.java @@ -2,6 +2,7 @@ package com.huaheng.pc.shipment.shipmentDetailHistory.service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.huaheng.common.constant.QuantityConstant; import com.huaheng.common.utils.DataUtils; import com.huaheng.common.utils.StringUtils; import com.huaheng.framework.web.domain.AjaxResult; @@ -46,7 +47,7 @@ public class ShipmentDetailHistoryServiceImpl extends ServiceImpl<ShipmentDetail if (list.size() > 1) { return AjaxResult.error("有多个主单据,不能一起删除!"); } - if (list.get(0).get("firstStatus") > 100) { + if (list.get(0).get("firstStatus") > QuantityConstant.SHIPMENT_HEADER_POOL) { return AjaxResult.error("单据状进入订单池,不允许删除明细"); } Integer result = shipmentDetailHistoryMapper.batchDelete(ids); diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java index e37724a..9751efe 100644 --- a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java +++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java @@ -2,6 +2,7 @@ package com.huaheng.pc.shipment.shipmentHeader.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.huaheng.common.constant.QuantityConstant; import com.huaheng.common.exception.service.ServiceException; import com.huaheng.common.support.Convert; import com.huaheng.common.utils.security.ShiroUtils; @@ -15,9 +16,11 @@ import com.huaheng.pc.shipment.shipmentHeaderHistory.domain.ShipmentHeaderHistor import com.huaheng.pc.shipment.shipmentHeaderHistory.service.ShipmentHeaderHistoryService; import com.huaheng.pc.system.dict.service.IDictDataService; import org.apache.commons.beanutils.BeanUtils; +import org.apache.commons.collections4.QueueUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import javax.xml.namespace.QName; import java.lang.reflect.InvocationTargetException; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -58,8 +61,8 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper, } String code = createCode(shipmentHeader.getShipmentType()); shipmentHeader.setId(null); - shipmentHeader.setFirstStatus(0); - shipmentHeader.setLastStatus(0); + shipmentHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_BUILD); + shipmentHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_BUILD); shipmentHeader.setLastUpdated(null); shipmentHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); shipmentHeader.setCreated(null); @@ -106,29 +109,29 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper, Map<String,Integer> map = shipmentContainerHeaderService.getShipmentContainerMaxAndMinStatusByShipmentID(shipmentId); if(map==null){ //说明没有货箱,则直接首位均为新建 - shipmentHeader.setFirstStatus(100); - shipmentHeader.setLastStatus(100); + shipmentHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_POOL); + shipmentHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_POOL); this.saveOrUpdate(shipmentHeader); }else { int firstStatus = map.get("maxStatus"); int lastStatus = map.get("minStatus"); - if(firstStatus<=20){ - shipmentHeader.setFirstStatus(300); + if(firstStatus<=QuantityConstant.SHIPMENT_CONTAINER_FINISHED){ + shipmentHeader.setFirstStatus(QuantityConstant.SHIPMENT_HEADER_GROUPDISK); } - if(firstStatus==30){ - shipmentHeader.setFirstStatus(500); + if(firstStatus==QuantityConstant.SHIPMENT_CONTAINER_REVIEWSUCCESS){ + shipmentHeader.setFirstStatus(QuantityConstant.SHIPMENT_HEADER_COMPLETED); } - if(lastStatus <=20){ - shipmentHeader.setLastStatus(300); + if(lastStatus <=QuantityConstant.SHIPMENT_CONTAINER_FINISHED){ + shipmentHeader.setLastStatus(QuantityConstant.SHIPMENT_HEADER_GROUPDISK); } - if(lastStatus==30){ - shipmentHeader.setLastStatus(500); + if(lastStatus==QuantityConstant.SHIPMENT_CONTAINER_REVIEWSUCCESS){ + shipmentHeader.setLastStatus(QuantityConstant.SHIPMENT_HEADER_COMPLETED); } //是否存在未配盘的数量,如果是,则尾状态为新建 Integer UnCompleted = shipmentDetailService.countUnCompleted(shipmentId); if(UnCompleted != null && UnCompleted.intValue() > 0){ - shipmentHeader.setLastStatus(100); + shipmentHeader.setLastStatus(QuantityConstant.SHIPMENT_HEADER_POOL); } this.saveOrUpdate(shipmentHeader); } @@ -189,9 +192,9 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper, } //2.小于100时,把主单和相应的子单加入到list中,大于等于100时,直接跳过 - if(shipmentHeader.getFirstStatus() < 100 && shipmentHeader.getLastStatus() <100){ - shipmentHeader.setFirstStatus(100); - shipmentHeader.setLastStatus(100); + if(shipmentHeader.getFirstStatus() < QuantityConstant.SHIPMENT_HEADER_POOL && shipmentHeader.getLastStatus() <QuantityConstant.SHIPMENT_HEADER_POOL){ + shipmentHeader.setFirstStatus(QuantityConstant.SHIPMENT_HEADER_POOL); + shipmentHeader.setLastStatus(QuantityConstant.SHIPMENT_HEADER_POOL); shipmentHeaders.add(shipmentHeader); LambdaQueryWrapper<ShipmentDetail> lam = Wrappers.lambdaQuery(); @@ -200,7 +203,7 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper, List<ShipmentDetail> shipmentDetailList = shipmentDetailService.list(lam); if(shipmentDetailList != null){ for(ShipmentDetail shipmentDetail : shipmentDetailList){ - shipmentDetail.setStatus(100); + shipmentDetail.setStatus(QuantityConstant.SHIPMENT_HEADER_POOL); } shipmentDetails.addAll(shipmentDetailList); }else { diff --git a/src/main/java/com/huaheng/pc/shipment/wave/service/WaveService.java b/src/main/java/com/huaheng/pc/shipment/wave/service/WaveService.java index 2968a98..02b28c3 100644 --- a/src/main/java/com/huaheng/pc/shipment/wave/service/WaveService.java +++ b/src/main/java/com/huaheng/pc/shipment/wave/service/WaveService.java @@ -3,6 +3,7 @@ package com.huaheng.pc.shipment.wave.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.huaheng.common.constant.QuantityConstant; import com.huaheng.common.exception.service.ServiceException; import com.huaheng.common.support.Convert; import com.huaheng.common.utils.security.ShiroUtils; @@ -58,7 +59,7 @@ public class WaveService extends ServiceImpl<WaveMapper, Wave> { //1、查看此波次的状态,状态不为o时,无法开始波次 Wave wave = this.getById(id); - if(wave == null || wave.getStatus() != 0){ + if(wave == null || wave.getStatus() != QuantityConstant.WAVE_STATUS_BUILD){ return AjaxResult.error("id为"+id+"的波次找不到,或者状态不能做开始操作"); } waves.add(wave); @@ -84,7 +85,7 @@ public class WaveService extends ServiceImpl<WaveMapper, Wave> { //5、修改波次的状态 for(Wave wave : waves){ - wave.setStatus(300); + wave.setStatus(QuantityConstant.WAVE_STATUS_END); wave.setCurrentWaveStep("生成任务"); } Boolean flag = this.updateBatchById(waves); @@ -116,16 +117,16 @@ public class WaveService extends ServiceImpl<WaveMapper, Wave> { //1、查看此波次是否可以释放 Wave wave = this.getById(id); - if(wave == null || (wave.getStatus()!=300 && wave.getStatus()!=999)){ + if(wave == null || (wave.getStatus()!=QuantityConstant.WAVE_STATUS_END && wave.getStatus()!=QuantityConstant.WAVE_STATUS_FAILED)){ return AjaxResult.error(id+"波次不可释放"); } //2、查看此波次的状态,看是成功释放还是失败释放 - if(wave.getStatus() == 300) { + if(wave.getStatus() == QuantityConstant.WAVE_STATUS_END) { //成功释放——找到此波次的未执行的子任务列表 LambdaQueryWrapper<TaskDetail> lam = Wrappers.lambdaQuery(); lam.eq(TaskDetail::getWarehouseCode, ShiroUtils.getWarehouseCode()) - .eq(TaskDetail::getStatus, 0) + .eq(TaskDetail::getStatus, QuantityConstant.TASK_STATUS_BUILD) .eq(TaskDetail::getWaveId, id); List<TaskDetail> taskDetails = taskDetailService.list(lam); if (taskDetails != null) { @@ -143,7 +144,7 @@ public class WaveService extends ServiceImpl<WaveMapper, Wave> { HashSet<Integer> set = new HashSet<>(); for(ShipmentDetail item : shipmentDetails){ if(item.getShipQty().compareTo(item.getRequestQty())!=0) { - item.setStatus(0); + item.setStatus(QuantityConstant.SHIPMENT_HEADER_POOL); } item.setWaveId(0); set.add(item.getShipmentId()); @@ -157,8 +158,8 @@ public class WaveService extends ServiceImpl<WaveMapper, Wave> { if(shipmentHeader == null){ throw new ServiceException("没有对应的出库主单"); } - if(shipmentHeader.getFirstStatus()<= 200) { - shipmentHeader.setFirstStatus(0); + if(shipmentHeader.getFirstStatus()<= QuantityConstant.SHIPMENT_HEADER_WAVE) { + shipmentHeader.setFirstStatus(QuantityConstant.SHIPMENT_HEADER_POOL); flag = shipmentHeaderService.updateById(shipmentHeader); if (flag == false) { throw new ServiceException("修改出库主单失败"); diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java index e7bd2cf..b1bba29 100644 --- a/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java +++ b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.huaheng.api.wcs.service.taskAssignService.TaskAssignService; +import com.huaheng.common.constant.QuantityConstant; import com.huaheng.common.exception.service.ServiceException; import com.huaheng.common.utils.DataUtils; import com.huaheng.common.utils.StringUtils; @@ -147,7 +148,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea if(taskHeader==null){ return AjaxResult.error("任务"+taskId+"未找到,操作中止"); } - if(taskHeader.getStatus() > 9){ + if(taskHeader.getStatus() >= QuantityConstant.TASK_STATUS_RELEASE){ return AjaxResult.error("存在任务"+taskHeader.getId()+"已下发或执行,操作中止"); } //查出任务明细 @@ -168,23 +169,23 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea //删除主任务 taskHeaderService.removeById(taskHeader.getId()); // 更改库位状态(整盘入库任务除外) - if(taskHeader.getInternalTaskType() == 100 ) + if(taskHeader.getInternalTaskType() == QuantityConstant.TASK_INTENERTYPE_SHELF ) { ReceiptContainerHeader record =new ReceiptContainerHeader(); - record.setStatus((short)0); + record.setStatus((short)QuantityConstant.RECEIPT_CONTAINER_BUILD.intValue()); record.setId(taskHeader.getAllocationHeadId()); if (!receiptContainerHeaderService.updateById(record)){throw new ServiceException("回滚组盘明细失败");} } //根据任务类型来更新货箱状态 //修改关联的货箱状态 - if(taskHeader.getInternalTaskType() == 200) { + if(taskHeader.getInternalTaskType() == QuantityConstant.TASK_INTENERTYPE_PICKING) { ShipmentContainerHeader shipmentContainerHeader = new ShipmentContainerHeader(); shipmentContainerHeader.setId(taskHeader.getAllocationHeadId()); - shipmentContainerHeader.setStatus(0); + shipmentContainerHeader.setStatus(QuantityConstant.SHIPMENT_CONTAINER_BUILD); shipmentContainerHeaderService.updateById(shipmentContainerHeader); } //盘点取消任务,恢复明细状态为1 - if(taskHeader.getInternalTaskType() == 700) { + if(taskHeader.getInternalTaskType() == QuantityConstant.TASK_INTENERTYPE_CYCLECOUNT) { CycleCountDetail cycleCountDetail = new CycleCountDetail(); cycleCountDetail.setCompanyCode(taskDetail.getCompanyCode()); @@ -205,7 +206,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea } } - if(taskHeader.getInternalTaskType()==100||taskHeader.getInternalTaskType()==200){ + if(taskHeader.getInternalTaskType()==QuantityConstant.TASK_INTENERTYPE_SHELF ||taskHeader.getInternalTaskType()==QuantityConstant.TASK_INTENERTYPE_PICKING){ if(taskHeader.getToLocation()!=null){ //更新托盘、库位状态 locationService.updateStatus(taskHeader.getToLocation(), "empty"); @@ -235,7 +236,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea if (shipmentContainerHeader == null) { return AjaxResult.error("出库货箱" + shipmentContainerHeaderId + "未找到,操作中止"); } - if (shipmentContainerHeader.getStatus() > 9) { + if (shipmentContainerHeader.getStatus() >= QuantityConstant.SHIPMENT_CONTAINER_TASK) { return AjaxResult.error("出库货箱" + shipmentContainerHeader.getContainerCode() + "已经生成任务,请不要重复生成,操作中止"); } //获取所有子货箱 @@ -257,7 +258,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea //创建任务头 TaskHeader task = new TaskHeader(); //分拣出库 - task.setTaskType(400); + task.setTaskType(QuantityConstant.TASK_TYPE_SORTINGSHIPMENT); task.setFromLocation(shipmentContainerHeader.getLocationCode()); task.setToLocation(shipmentContainerHeader.getLocationCode()); //判断是否整出任务,钱柜和AGV不能整出 @@ -280,17 +281,17 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea containerTotal = containerTotal.add(item.getQty()); } if (inventoryTotal.compareTo(containerTotal) == 0) { - task.setTaskType(300);//整盘出库 + task.setTaskType(QuantityConstant.TASK_TYPE_WHOLESHIPMENT);//整盘出库 task.setToLocation(""); } - task.setInternalTaskType(200); + task.setInternalTaskType(QuantityConstant.TASK_INTENERTYPE_PICKING); task.setAllocationHeadId(shipmentContainerHeader.getId()); task.setWarehouseCode(shipmentContainerHeader.getWarehouseCode()); task.setCompanyCode(shipmentContainerHeader.getCompanyCode()); task.setAssignedUser(ShiroUtils.getLoginName()); task.setConfirmedBy(ShiroUtils.getLoginName()); - task.setStatus(0); + task.setStatus(QuantityConstant.TASK_STATUS_BUILD); task.setContainerCode(shipmentContainerHeader.getContainerCode()); task.setCreatedBy(ShiroUtils.getLoginName()); task.setCreated(new Date()); @@ -321,7 +322,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea taskDetail.setLot(shipmentContainerDetail.getLot()); taskDetail.setBatch(shipmentContainerDetail.getBatch()); taskDetail.setProjectNo(shipmentContainerDetail.getProjectNo()); - taskDetail.setStatus(0); + taskDetail.setStatus(QuantityConstant.TASK_STATUS_BUILD); taskDetail.setWaveId(shipmentContainerDetail.getWaveId()); taskDetail.setInventorySts(shipmentContainerDetail.getInventorySts()); taskDetail.setCreatedBy(ShiroUtils.getLoginName()); @@ -331,10 +332,10 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea throw new ServiceException("新建任务明细失败,sql报错"); } - shipmentContainerDetail.setStatus(10); + shipmentContainerDetail.setStatus(QuantityConstant.SHIPMENT_CONTAINER_TASK); } //更新货位状态 - shipmentContainerHeader.setStatus(10); + shipmentContainerHeader.setStatus(QuantityConstant.SHIPMENT_CONTAINER_TASK); flag = shipmentContainerHeaderService.updateById(shipmentContainerHeader); if(flag == false){ throw new ServiceException("修改组盘头状态失败,sql报错"); @@ -359,12 +360,12 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea for (Integer taskId : taskIds) { task = taskHeaderService.getById(taskId); - if (task.getStatus() > 9) { + if (task.getStatus() >= QuantityConstant.TASK_STATUS_RELEASE) { return AjaxResult.error("任务" + taskId + "已经下发,请不要重复下发,操作中止"); } //修改任务头表 task.setId(taskId); - task.setStatus(10); + task.setStatus(QuantityConstant.TASK_STATUS_RELEASE); task.setStartPickDateTime(new Date()); //生成时间 task.setLastUpdated(new Date()); task.setLastUpdatedBy(ShiroUtils.getLoginName()); @@ -375,14 +376,14 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea List<TaskDetail> taskDetailList = taskDetailService.list(lambdaWrapper); List<TaskDetail> taskDetails = new ArrayList<>(); for (TaskDetail item:taskDetailList){ - item.setStatus(10); + item.setStatus(QuantityConstant.TASK_STATUS_RELEASE); item.setLastUpdated(new Date()); item.setLastUpdatedBy(ShiroUtils.getLoginName()); item.setProcessStamp("100"); taskDetails.add(item); //盘点执行修改盘点单据状态为10 - if(task.getTaskType() == 700){ - cycleCountDetailService.updataDetailStatus(item.getBillDetailId(),10); + if(task.getTaskType() == QuantityConstant.TASK_TYPE_CYCLECOUNT){ + cycleCountDetailService.updataDetailStatus(item.getBillDetailId(),QuantityConstant.CYCLECOUNT_STATUS_EXECUTING); } } if (!taskDetailService.saveOrUpdateBatch(taskDetails)){ @@ -443,7 +444,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea throw new ServiceException("任务" + taskId + "未找到,执行中止"); } //如果已完成则不管 - if (task.getStatus() == 100) { + if (task.getStatus() == QuantityConstant.TASK_STATUS_COMPLETED) { throw new ServiceException("任务(" + taskId + ")任务已经是完成的!"); } //如果没有库位不能完成 @@ -464,31 +465,31 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea @Transactional public void completeTask(TaskHeader task) { //区分任务类型 - if (task.getInternalTaskType() == 100) { + if (task.getInternalTaskType() == QuantityConstant.TASK_INTENERTYPE_SHELF) { //入库任务 completeReceiptTask(task); } - if (task.getInternalTaskType() == 200) { + if (task.getInternalTaskType() == QuantityConstant.TASK_INTENERTYPE_PICKING) { // 出库任务 completeShipmentTask(task); } // 900 出库查看,空托出库查看 - if ( task.getTaskType() == 900) { + if ( task.getTaskType() == QuantityConstant.TASK_TYPE_VIEW) { completeSeeOutTask(task); } // 700 盘点 - if ( task.getTaskType() == 700) { + if ( task.getTaskType() == QuantityConstant.TASK_TYPE_CYCLECOUNT) { completeCycleCountTask(task); } - if (task.getTaskType() == 800) { + if (task.getTaskType() == QuantityConstant.TASK_TYPE_TRANSFER) { // //移库 completeTransferTask(task); } - if (task.getTaskType() == 500) { + if (task.getTaskType() == QuantityConstant.TASK_TYPE_EMPTYRECEIPT) { //空托盘入库 completeEmptyIn(task); } - if (task.getTaskType() == 600) { + if (task.getTaskType() == QuantityConstant.TASK_TYPE_EMPTYSHIPMENT) { //空托盘出库 completeEmptyOut(task); } @@ -507,7 +508,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea } for (Map<String, Object> map : taskReceiptContainerDetail) { //将未完成的任务数量更新到库存表 - if (DataUtils.getInteger(map.get("status")) < 100) { + if (DataUtils.getInteger(map.get("status")) < QuantityConstant.TASK_STATUS_COMPLETED) { LambdaQueryWrapper<InventoryDetail> inventory = Wrappers.lambdaQuery(); inventory.eq(InventoryDetail::getWarehouseCode, ShiroUtils.getWarehouseCode()) .eq(InventoryDetail::getLocationCode, task.getFromLocation()) @@ -566,7 +567,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea } //记录库存交易记录 InventoryTransaction inventoryTransaction = new InventoryTransaction(); - inventoryTransaction.setTransactionType(10); + inventoryTransaction.setTransactionType(QuantityConstant.INVENTORY_TRANSACTION_RECEIPT); inventoryTransaction.setWarehouseCode(DataUtils.getString(map.get("warehouseCode"))); inventoryTransaction.setCompanyCode(task.getCompanyCode()); inventoryTransaction.setLocationCode(task.getToLocation()); @@ -589,7 +590,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea throw new ServiceException("新增库存记录失败"); //修改任务明细的状态为完成 TaskDetail taskDetail = new TaskDetail(); - taskDetail.setStatus(100); + taskDetail.setStatus(QuantityConstant.TASK_STATUS_COMPLETED); taskDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); taskDetail.setAgingDate(new Date()); //入库时间 LambdaUpdateWrapper<TaskDetail> lambdaUpdateWrapper = Wrappers.lambdaUpdate(); @@ -600,7 +601,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea } //修改任务主表状态,因为立库任务表单头只对应一个货箱,表单详情的任务会同时完成 - task.setStatus(100); + task.setStatus(QuantityConstant.TASK_STATUS_COMPLETED); task.setLastUpdatedBy(ShiroUtils.getLoginName()); task.setLastUpdated(new Date()); LambdaUpdateWrapper<TaskHeader> taskHeaderLambdaUpdateWrapper = Wrappers.lambdaUpdate(); @@ -628,7 +629,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea } //修改组盘表状态为20 ReceiptContainerDetail receiptContainerDetail = new ReceiptContainerDetail(); - receiptContainerDetail.setStatus(30); + receiptContainerDetail.setStatus(QuantityConstant.RECEIPT_CONTAINER_REVIEWSUCCESS); receiptContainerDetail.setProcessStamp("0"); receiptContainerDetail.setLastUpdated(new Date()); receiptContainerDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); @@ -644,15 +645,15 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea receiptContainerHeader.setId(task.getAllocationHeadId()); receiptContainerHeader.setLastUpdated(new Date()); receiptContainerHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); - receiptContainerHeader.setStatus((short) 20); + receiptContainerHeader.setStatus((short) QuantityConstant.RECEIPT_CONTAINER_FINISHED.intValue()); if (!receiptContainerHeaderService.updateById(receiptContainerHeader)){ throw new ServiceException("更新入库组盘头表状态失败"); } //修改入库单状态 ReceiptHeader receiptHeader = new ReceiptHeader(); - receiptHeader.setFirstStatus(800); - receiptHeader.setLastStatus(800); + receiptHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_POSTING); + receiptHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_POSTING); receiptHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); receiptHeader.setLastUpdated(new Date()); LambdaUpdateWrapper<ReceiptHeader> receiptHeaderLambdaUpdateWrapper = Wrappers.lambdaUpdate(); @@ -726,10 +727,10 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea TaskHeader taskHeader = new TaskHeader(); taskHeader.setWarehouseCode(ShiroUtils.getWarehouseCode()); taskHeader.setCompanyCode(ShiroUtils.getCompanyCodeList().get(0));//获取第一个货主 - taskHeader.setInternalTaskType(500); - taskHeader.setTaskType(800); + taskHeader.setInternalTaskType(QuantityConstant.TASK_INTENERTYPE_CHECK); + taskHeader.setTaskType(QuantityConstant.TASK_TYPE_TRANSFER); taskHeader.setContainerCode(loc1.getContainerCode()); - taskHeader.setStatus(1); + taskHeader.setStatus(QuantityConstant.TASK_STATUS_BUILD); taskHeader.setFromLocation(sourceLocation); taskHeader.setToLocation(destinationLocation); taskHeader.setCreated(new Date()); @@ -812,7 +813,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea inventoryTransaction.setWarehouseCode(task.getWarehouseCode()); inventoryTransaction.setLocationCode(taskDetail.getToLocation()); inventoryTransaction.setContainerCode(taskDetail.getContainerCode()); - inventoryTransaction.setTransactionType(50); + inventoryTransaction.setTransactionType(QuantityConstant.INVENTORY_TRANSACTION_ADJUSTPROPERTIES); inventoryTransaction.setMaterialCode(item.getMaterialCode()); inventoryTransaction.setManufactureDate(item.getManufactureDate()); inventoryTransaction.setMaterialName(item.getMaterialName()); @@ -868,12 +869,12 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea locationService.saveOrUpdate(loc1); locationService.saveOrUpdate(loc2); //更新taskHeader状态 - task.setStatus(100); + task.setStatus(QuantityConstant.TASK_STATUS_COMPLETED); task.setLastUpdatedBy(ShiroUtils.getLoginName()); task.setLastUpdated(new Date()); taskHeaderService.saveOrUpdate(task); //更新taskDetail状态 - taskDetail.setStatus(100); + taskDetail.setStatus(QuantityConstant.TASK_STATUS_COMPLETED); taskDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); taskDetail.setLastUpdated(new Date()); taskDetailService.saveOrUpdate(taskDetail); @@ -919,10 +920,10 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea TaskHeader taskHeader = new TaskHeader(); taskHeader.setWarehouseCode(inventoryHeader.getWarehouseCode()); taskHeader.setCompanyCode(inventoryHeader.getCompanyCode());//货主 - taskHeader.setInternalTaskType(400); - taskHeader.setTaskType(900); + taskHeader.setInternalTaskType(QuantityConstant.TASK_INTENERTYPE_WORK); + taskHeader.setTaskType(QuantityConstant.TASK_TYPE_VIEW); taskHeader.setContainerCode(inventoryHeader.getContainerCode()); - taskHeader.setStatus(1); + taskHeader.setStatus(QuantityConstant.TASK_STATUS_BUILD); taskHeader.setFromLocation(inventoryHeader.getLocationCode()); taskHeader.setToLocation(inventoryHeader.getLocationCode()); taskHeader.setCreated(new Date()); @@ -968,7 +969,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea @Transactional @Override public AjaxResult completeSeeOutTask(TaskHeader taskHeader) { - taskHeader.setStatus(100); + taskHeader.setStatus(QuantityConstant.TASK_STATUS_COMPLETED); taskHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); //更新用户 taskHeader.setLastUpdated(new Date()); //更新时间 //task更新明细单总的状态 @@ -980,7 +981,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea List<TaskDetail> taskDetailList = taskDetailService.list(lambdaQueryWrapper);//查询子单 List<TaskDetail> list = new CopyOnWriteArrayList<>(); for(TaskDetail item:taskDetailList){ - item.setStatus(100); + item.setStatus(QuantityConstant.TASK_STATUS_COMPLETED); item.setLastUpdatedBy(ShiroUtils.getLoginName()); //更新用户 item.setLastUpdated(new Date()); //更新时间 list.add(item); @@ -1005,7 +1006,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea /*盘点完成,传入任务主单,查出任务明细,通过任务明细查找盘点的明细单, 完成任务同时,修改盘点细单和主单的状态,完成后库存锁复位*/ //修改任务主单状态 - taskHeader.setStatus(100); + taskHeader.setStatus(QuantityConstant.TASK_STATUS_COMPLETED); taskHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); //更新用户 taskHeader.setLastUpdated(new Date()); //更新时间 //task更新明细单状态 @@ -1019,13 +1020,13 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea //修改任务明细状态的同时查找到盘点明细的条目并修改状态,最后修改主单状态 List<CycleCountDetail> cycleCountDetailList = new CopyOnWriteArrayList<>(); for(TaskDetail item:taskDetailList){ - item.setStatus(100); + item.setStatus(QuantityConstant.TASK_STATUS_COMPLETED); item.setLastUpdatedBy(ShiroUtils.getLoginName()); //更新用户 item.setLastUpdated(new Date()); //更新时间 list.add(item); CycleCountDetail cycleCountDetail = cycleCountDetailService.getById(item.getBillDetailId());//盘点明细 - cycleCountDetail.setEnableStatus(100); + cycleCountDetail.setEnableStatus(QuantityConstant.CYCLECOUNT_STATUS_COMPLETED); cycleCountDetail.setCompletedBy(ShiroUtils.getLoginName()); cycleCountDetail.setCompletedAt(new Date()); cycleCountDetailList.add(cycleCountDetail); @@ -1055,7 +1056,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea public void completeEmptyIn(TaskHeader taskHeader) { //完成任务,修改主单和明细状态 - taskHeader.setStatus(100); + taskHeader.setStatus(QuantityConstant.TASK_STATUS_COMPLETED); taskHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); taskHeader.setLastUpdated(new Date()); //taskHeaderService.saveOrUpdate(taskHeader); @@ -1067,7 +1068,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(taskDetail); List<TaskDetail> taskDetailList = taskDetailService.list(lambdaQueryWrapper);//查询子单 for (TaskDetail item : taskDetailList) { - item.setStatus(100); + item.setStatus(QuantityConstant.TASK_STATUS_COMPLETED); item.setLastUpdatedBy(ShiroUtils.getLoginName()); //更新用户 item.setLastUpdated(new Date()); //更新时间 taskDetailList.add(item); @@ -1090,7 +1091,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea @Transactional public void completeEmptyOut(TaskHeader taskHeader) { - taskHeader.setStatus(100); + taskHeader.setStatus(QuantityConstant.TASK_STATUS_COMPLETED); taskHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); taskHeader.setLastUpdated(new Date()); //taskHeaderService.saveOrUpdate(taskHeader); @@ -1102,7 +1103,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(taskDetail); List<TaskDetail> taskDetailList = taskDetailService.list(lambdaQueryWrapper);//查询子单 for (TaskDetail item : taskDetailList) { - item.setStatus(100); + item.setStatus(QuantityConstant.TASK_STATUS_COMPLETED); item.setLastUpdatedBy(ShiroUtils.getLoginName()); //更新用户 item.setLastUpdated(new Date()); //更新时间 taskDetailList.add(item); @@ -1146,15 +1147,15 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea if (list.size() < 1) throw new ServiceException("没有组盘明细,请先组盘!"); - if (receiptContainerHeader.getStatus() == 0) { - if (receiptContainerHeader.getStatus().intValue() < 10) { - receiptContainerHeader.setStatus((short) 10); + if (receiptContainerHeader.getStatus() == QuantityConstant.RECEIPT_CONTAINER_BUILD.intValue()) { + if (receiptContainerHeader.getStatus().intValue() < QuantityConstant.RECEIPT_CONTAINER_TASK) { + receiptContainerHeader.setStatus((short) QuantityConstant.RECEIPT_CONTAINER_TASK.intValue()); receiptContainerHeaderService.updateById(receiptContainerHeader); } //添加任务主表 TaskHeader task = new TaskHeader(); task.setAllocationHeadId(receiptContainerHeader.getId()); - task.setInternalTaskType(100); + task.setInternalTaskType(QuantityConstant.TASK_INTENERTYPE_SHELF); task.setWarehouseCode(receiptContainerHeader.getWarehouseCode()); task.setCompanyCode(receiptContainerHeader.getCompanyCode()); task.setFromLocation(receiptContainerHeader.getFromLocation()); @@ -1171,7 +1172,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea TaskDetail taskDetail = new TaskDetail(); taskDetail.setTaskId(task.getId()); taskDetail.setTaskType(Integer.valueOf(receiptContainerHeaderService.getById(item.getReceiptContainerId()).getTaskType())); - taskDetail.setInternalTaskType(100); + taskDetail.setInternalTaskType(QuantityConstant.TASK_INTENERTYPE_SHELF); taskDetail.setWarehouseCode(task.getWarehouseCode()); taskDetail.setAllocationId(item.getReceiptId()); taskDetail.setCompanyCode(task.getCompanyCode()); @@ -1193,7 +1194,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea } //更新入库组盘明细状态 - item.setStatus(10); + item.setStatus(QuantityConstant.RECEIPT_CONTAINER_TASK); if (!receiptContainerDetailService.updateById(item)){ throw new ServiceException("更新入库组盘明细状态出错"); } @@ -1230,7 +1231,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea List<TaskDetail> taskDetails = taskDetailService.list(lambdaQueryWrapper); List<Integer> shipmentHeadIds = new ArrayList<>(); for(TaskDetail taskDetail : taskDetails){ - if(taskDetail.getStatus()<20){ + if(taskDetail.getStatus()<QuantityConstant.TASK_STATUS_RUNNING){ //获取出库子货箱 ShipmentContainerDetail shipmentContainerDetail = shipmentContainerDetailService.getById(taskDetail.getAllocationId()); //取出子单据 @@ -1259,7 +1260,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea inventoryHeaderService.updateById(inventoryHeader); } //设置子任务状态为已执行 - taskDetail.setStatus(100); + taskDetail.setStatus(QuantityConstant.TASK_STATUS_COMPLETED); taskDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); taskDetail.setLastUpdated(new Date());//完成时间 taskDetailService.updateById(taskDetail); @@ -1269,7 +1270,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea inventoryTransaction.setCompanyCode(shipmentDetail.getCompanyCode()); inventoryTransaction.setLocationCode(inventoryDetail.getLocationCode()); inventoryTransaction.setContainerCode(inventoryDetail.getContainerCode()); - inventoryTransaction.setTransactionType(20); + inventoryTransaction.setTransactionType(QuantityConstant.INVENTORY_TRANSACTION_SHIPMENT); inventoryTransaction.setMaterialCode(shipmentDetail.getMaterialCode()); inventoryTransaction.setMaterialName(shipmentDetail.getMaterialName()); inventoryTransaction.setMaterialSpec(shipmentDetail.getMaterialSpec()); @@ -1295,7 +1296,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea } } //设置主任务为已执行 - task.setStatus(100); + task.setStatus(QuantityConstant.TASK_STATUS_COMPLETED); task.setLastUpdatedBy(ShiroUtils.getLoginName()); task.setLastUpdated(new Date()); taskHeaderService.updateById(task); @@ -1310,7 +1311,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea throw new ServiceException("系统没有"+task.getToLocation()+"库位"); } locationRecord.setStatus("empty"); - if(task.getTaskType()==300) { + if(task.getTaskType()==QuantityConstant.TASK_TYPE_WHOLESHIPMENT) { locationRecord.setContainerCode(""); } locationService.updateById(locationRecord); @@ -1321,7 +1322,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea if(ctn == null){ throw new ServiceException("系统无此容器"); } - if(task.getTaskType()==300) { + if(task.getTaskType()==QuantityConstant.TASK_TYPE_WHOLESHIPMENT) { if(ctn.getContainerType().equals("LS")){ Boolean flag = containerService.removeById(ctn.getId()); if(flag == false){ @@ -1351,7 +1352,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea //设置出库货箱状态为拣货任务完成 for(TaskDetail taskDetail : taskDetails) { ShipmentContainerDetail shipmentContainerDetail = new ShipmentContainerDetail(); - shipmentContainerDetail.setStatus(30); + shipmentContainerDetail.setStatus(QuantityConstant.SHIPMENT_CONTAINER_REVIEWSUCCESS); shipmentContainerDetail.setLastUpdated(new Date()); shipmentContainerDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); LambdaUpdateWrapper<ShipmentContainerDetail> shipmentContainerDetailLambdaUpdateWrapper = Wrappers.lambdaUpdate(); @@ -1362,7 +1363,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea } //设置出库货箱表头状态为拣货任务完成 ShipmentContainerHeader shipmentContainerHeader = new ShipmentContainerHeader(); - shipmentContainerHeader.setStatus(30); + shipmentContainerHeader.setStatus(QuantityConstant.SHIPMENT_CONTAINER_REVIEWSUCCESS); shipmentContainerHeader.setLastUpdated(new Date()); shipmentContainerHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); LambdaUpdateWrapper<ShipmentContainerHeader> shipmentContainerHeaderLambdaUpdateWrapper = Wrappers.lambdaUpdate(); @@ -1384,7 +1385,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea throw new ServiceException("查找出库单明细失败"); } if (shipmentDetail.getShipQty().compareTo(shipmentDetail.getRequestQty()) == 0) { - shipmentDetail.setStatus(500); + shipmentDetail.setStatus(QuantityConstant.SHIPMENT_HEADER_COMPLETED); shipmentDetailService.updateById(shipmentDetail); } ids.add(shipmentDetail.getShipmentId()); @@ -1396,11 +1397,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea Map<String,Integer> status = shipmentDetailService.selectStatus(shipmentHeader.getId()); Integer maxStatus = status.get("maxStatus"); Integer minStatus = status.get("minStatus"); - if(maxStatus == 500){ - shipmentHeader.setFirstStatus(500); + if(maxStatus == QuantityConstant.SHIPMENT_HEADER_COMPLETED){ + shipmentHeader.setFirstStatus(QuantityConstant.SHIPMENT_HEADER_COMPLETED); } - if(minStatus == 500) { - shipmentHeader.setLastStatus(500); + if(minStatus == QuantityConstant.SHIPMENT_HEADER_COMPLETED) { + shipmentHeader.setLastStatus(QuantityConstant.SHIPMENT_HEADER_COMPLETED); } shipmentHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); shipmentHeader.setLastUpdated(new Date()); diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 4e44bca..f699ea0 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -1,36 +1,36 @@ -# \u6570\u636E\u6E90\u914D\u7F6E +# 数据源配置 spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.cj.jdbc.Driver druid: - # \u4E3B\u5E93\u6570\u636E\u6E90 + # 主库 master: - url: jdbc:mysql://172.16.29.45:3306/wms_v2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false + url: jdbc:mysql://172.16.29.45:3306/wms_v2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2b8 username: softhuaheng password: HHrobot123. - # \u4ECE\u5E93\u6570\u636E\u6E90 + # 从库 slave: - # \u4ECE\u6570\u636E\u6E90\u5F00\u5173/\u9ED8\u8BA4\u5173\u95ED + # 从库不启用 enabled: false url: username: password: - # \u521D\u59CB\u8FDE\u63A5\u6570 + # 初始连接数 initialSize: 5 - # \u6700\u5C0F\u8FDE\u63A5\u6C60\u6570\u91CF + # 最小连接池数量 minIdle: 10 - # \u6700\u5927\u8FDE\u63A5\u6C60\u6570\u91CF + # 最大连接池数量 maxActive: 20 - # \u914D\u7F6E\u83B7\u53D6\u8FDE\u63A5\u7B49\u5F85\u8D85\u65F6\u7684\u65F6\u95F4 - maxWait: 60000 - # \u914D\u7F6E\u95F4\u9694\u591A\u4E45\u624D\u8FDB\u884C\u4E00\u6B21\u68C0\u6D4B\uFF0C\u68C0\u6D4B\u9700\u8981\u5173\u95ED\u7684\u7A7A\u95F2\u8FDE\u63A5\uFF0C\u5355\u4F4D\u662F\u6BEB\u79D2 + # 配置获取连接等待超时的时间 + maxWait: 5000 + # \配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 timeBetweenEvictionRunsMillis: 60000 - # \u914D\u7F6E\u4E00\u4E2A\u8FDE\u63A5\u5728\u6C60\u4E2D\u6700\u5C0F\u751F\u5B58\u7684\u65F6\u95F4\uFF0C\u5355\u4F4D\u662F\u6BEB\u79D2 - minEvictableIdleTimeMillis: 300000 - # \u914D\u7F6E\u4E00\u4E2A\u8FDE\u63A5\u5728\u6C60\u4E2D\u6700\u5927\u751F\u5B58\u7684\u65F6\u95F4\uFF0C\u5355\u4F4D\u662F\u6BEB\u79D2 - maxEvictableIdleTimeMillis: 900000 - # \u914D\u7F6E\u68C0\u6D4B\u8FDE\u63A5\u662F\u5426\u6709\u6548 + # 配置一个连接在池中最小生存的时间,单位是毫秒 + minEvictableIdleTimeMillis: 30000 + #配置一个连接在池中最大生存的时间,单位是毫秒 + maxEvictableIdleTimeMillis: 300000 + # 配置检测连接是否有效 validationQuery: SELECT 1 FROM DUAL testWhileIdle: true testOnBorrow: false @@ -39,16 +39,16 @@ spring: enabled: true statViewServlet: enabled: true - # \u8BBE\u7F6E\u767D\u540D\u5355\uFF0C\u4E0D\u586B\u5219\u5141\u8BB8\u6240\u6709\u8BBF\u95EE + # 设置白名单,不填则允许所有访问 allow: url-pattern: /druid/* - # \u63A7\u5236\u53F0\u7BA1\u7406\u7528\u6237\u540D\u548C\u5BC6\u7801 + # 控制台管理用户名和密码 login-username: login-password: filter: stat: enabled: true - # \u6162SQL\u8BB0\u5F55 + # 慢SQL记录 log-slow-sql: true slow-sql-millis: 1000 merge-sql: true @@ -56,7 +56,7 @@ spring: config: multi-statement-allow: true -#\u65E5\u5FD7\u914D\u7F6E +#日志配置 logging: level: com.huaheng: debug diff --git a/src/main/resources/application-druid.properties b/src/main/resources/application-druid.properties index 28d06d0..fecb7fd 100644 --- a/src/main/resources/application-druid.properties +++ b/src/main/resources/application-druid.properties @@ -2,7 +2,7 @@ spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver # \u4E3B\u5E93 -spring.datasource.druid.master.url=jdbc:mysql://172.16.29.45:3306/wms_v2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false +spring.datasource.druid.master.url=jdbc:mysql://172.16.29.45:3306/wms_v2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2b8 #spring.datasource.druid.master.url=jdbc:mysql://172.16.29.45:3306/huahengExample?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false #spring.datasource.druid.master.url=jdbc:mysql://localhost:3306/wms2.0?characterEncoding=utf8&serverTimezone=GMT%2b8 diff --git a/src/main/resources/templates/config/cycleCountPreference/cycleCountPreference.html b/src/main/resources/templates/config/cycleCountPreference/cycleCountPreference.html index 02023c3..601dd79 100644 --- a/src/main/resources/templates/config/cycleCountPreference/cycleCountPreference.html +++ b/src/main/resources/templates/config/cycleCountPreference/cycleCountPreference.html @@ -1,5 +1,5 @@ <!DOCTYPE HTML> -<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.w3.org/1999/xhtml"> +<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro"> <meta charset="utf-8"> <head th:include="include :: header"></head> <body class="gray-bg"> @@ -43,7 +43,8 @@ </form> </div> <div class="btn-group hidden-xs" id="toolbar" role="group"> - <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" > + <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" + shiro:hasPermission="config:cycleCountPreference:add"> <i class="fa fa-plus"></i> 新增 </a> </div> @@ -224,8 +225,8 @@ align: 'center', formatter: function(value, row, index) { var actions = []; - actions.push('<a class="btn btn-success btn-xs " href="#" onclick="$.operate.edit(\'' + row.id + '\')" ><i class="fa fa-edit"></i>修改</a> '); - actions.push('<a class="btn btn-danger btn-xs " href="#" onclick="$.operate.remove(\'' + row.id + '\')" ><i class="fa fa-trash-o"></i>删除</a>'); + actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')" ><i class="fa fa-edit"></i>修改</a> '); + actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')" ><i class="fa fa-trash-o"></i>删除</a>'); return actions.join(''); } }]