rev:手工入库增加称重校验
This commit is contained in:
@@ -1,14 +1,19 @@
|
|||||||
package org.nl.wms.sch_manage.service.util.tasks;
|
package org.nl.wms.sch_manage.service.util.tasks;
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.util.NumberUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
import org.nl.common.exception.BadRequestException;
|
import org.nl.common.exception.BadRequestException;
|
||||||
import org.nl.common.utils.CodeUtil;
|
import org.nl.common.utils.CodeUtil;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
import org.nl.config.IdUtil;
|
import org.nl.config.IdUtil;
|
||||||
|
import org.nl.config.SpringContextHolder;
|
||||||
|
import org.nl.system.service.param.dao.Param;
|
||||||
|
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
||||||
import org.nl.wms.basedata_manage.enums.BaseDataEnum;
|
import org.nl.wms.basedata_manage.enums.BaseDataEnum;
|
||||||
import org.nl.wms.sch_manage.enums.TaskEnum;
|
import org.nl.wms.sch_manage.enums.TaskEnum;
|
||||||
import org.nl.wms.sch_manage.enums.TaskStatus;
|
import org.nl.wms.sch_manage.enums.TaskStatus;
|
||||||
@@ -23,6 +28,7 @@ import org.nl.wms.sch_manage.service.util.TaskType;
|
|||||||
import org.nl.wms.warehouse_management.enums.IOSConstant;
|
import org.nl.wms.warehouse_management.enums.IOSConstant;
|
||||||
import org.nl.wms.warehouse_management.enums.IOSEnum;
|
import org.nl.wms.warehouse_management.enums.IOSEnum;
|
||||||
import org.nl.wms.warehouse_management.service.IRawAssistIStorService;
|
import org.nl.wms.warehouse_management.service.IRawAssistIStorService;
|
||||||
|
import org.nl.wms.warehouse_management.service.dao.IOStorInv;
|
||||||
import org.nl.wms.warehouse_management.service.dao.IOStorInvDis;
|
import org.nl.wms.warehouse_management.service.dao.IOStorInvDis;
|
||||||
import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDisMapper;
|
import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDisMapper;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -30,6 +36,7 @@ import org.springframework.stereotype.Component;
|
|||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -57,6 +64,12 @@ public class HandInTask extends AbstractTask {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ISchBasePointService iSchBasePointService;
|
private ISchBasePointService iSchBasePointService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 点对点任务类
|
||||||
|
*/
|
||||||
|
@Autowired
|
||||||
|
private PdaPointTask pdaPointTask;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String create(JSONObject json) {
|
public String create(JSONObject json) {
|
||||||
SchBaseTask task = new SchBaseTask();
|
SchBaseTask task = new SchBaseTask();
|
||||||
@@ -208,6 +221,68 @@ public class HandInTask extends AbstractTask {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JSONObject resultWeigh(SchBaseTask taskObj) {
|
public JSONObject resultWeigh(SchBaseTask taskObj) {
|
||||||
return null;
|
// 返回数据
|
||||||
|
JSONObject resultJson = new JSONObject();
|
||||||
|
|
||||||
|
// 查询当前分配明细
|
||||||
|
List<IOStorInvDis> disDaiList = ioStorInvDisMapper.selectList(
|
||||||
|
new QueryWrapper<IOStorInvDis>().lambda()
|
||||||
|
.eq(IOStorInvDis::getTask_id, taskObj.getTask_id())
|
||||||
|
);
|
||||||
|
// 查询主表
|
||||||
|
IOStorInv mstDao = rawAssistIStorService.getById(disDaiList.get(0).getIostorinv_id());
|
||||||
|
|
||||||
|
// 校验称重重量与组盘重量是否相符
|
||||||
|
SysParamServiceImpl sysParamService = SpringContextHolder.getBean(SysParamServiceImpl.class);
|
||||||
|
Param ParamDao = sysParamService.findByCode("material_weigh");
|
||||||
|
String value = ParamDao.getValue();
|
||||||
|
|
||||||
|
// 物料浮动上限
|
||||||
|
double value_up = NumberUtil.add(value, mstDao.getTotal_qty().toString()).doubleValue();
|
||||||
|
// 物料浮动下限
|
||||||
|
double value_down = NumberUtil.sub(mstDao.getTotal_qty().toString(),value).doubleValue();
|
||||||
|
// 称重重量
|
||||||
|
double double_qty = Double.parseDouble(taskObj.getWeigh_qty());
|
||||||
|
|
||||||
|
if (value_down <= double_qty && value_up >= double_qty) {
|
||||||
|
resultJson.put("is_weigh", IOSConstant.ONE);
|
||||||
|
return resultJson;
|
||||||
|
} else {
|
||||||
|
// 取消任务
|
||||||
|
this.cancelTask(taskObj);
|
||||||
|
// 备注任务
|
||||||
|
SchBaseTask taskDao = taskService.getById(taskObj.getTask_id());
|
||||||
|
taskDao.setRemark("已取消-称重失败!称重重量为【"+taskObj.getWeigh_qty()+"】");
|
||||||
|
taskService.updateById(taskDao);
|
||||||
|
|
||||||
|
// 取消分配及删除单据
|
||||||
|
ArrayList<LinkedHashMap> tableMater = new ArrayList<>();
|
||||||
|
disDaiList.forEach(item -> {
|
||||||
|
tableMater.add(JSONObject.parseObject(JSONObject.toJSONString(item), LinkedHashMap.class));
|
||||||
|
});
|
||||||
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
map.put("tableMater",tableMater);
|
||||||
|
rawAssistIStorService.unDivStruct(map);
|
||||||
|
|
||||||
|
// 删除单据
|
||||||
|
String[] ids = {mstDao.getIostorinv_id()};
|
||||||
|
rawAssistIStorService.deleteAll(ids);
|
||||||
|
|
||||||
|
// 判断是否是库外站点
|
||||||
|
if (ObjectUtil.isNotEmpty(mstDao.getSource_id())) {
|
||||||
|
// 创建点对点任务
|
||||||
|
JSONObject jsonTask = new JSONObject();
|
||||||
|
jsonTask.put("point_code1", IOSConstant.CZW_POINT);
|
||||||
|
jsonTask.put("point_code2", mstDao.getSource_id());
|
||||||
|
jsonTask.put("vehicle_code", taskObj.getVehicle_code());
|
||||||
|
jsonTask.put("material_id", taskObj.getMaterial_id());
|
||||||
|
jsonTask.put("material_qty", taskObj.getMaterial_qty());
|
||||||
|
jsonTask.put("task_type", TaskEnum.TASK_TYPE.code("料箱"));
|
||||||
|
jsonTask.put("remark", "物料称重失败退回!");
|
||||||
|
pdaPointTask.create(jsonTask);
|
||||||
|
}
|
||||||
|
resultJson.put("is_weigh", IOSConstant.ZERO);
|
||||||
|
}
|
||||||
|
return resultJson;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user