rev:修改
This commit is contained in:
@@ -124,6 +124,7 @@
|
|||||||
attr.stor_name,
|
attr.stor_name,
|
||||||
attr.sect_name,
|
attr.sect_name,
|
||||||
attr.lock_type,
|
attr.lock_type,
|
||||||
|
attr.block_num,
|
||||||
mater.material_id,
|
mater.material_id,
|
||||||
mater.material_code,
|
mater.material_code,
|
||||||
mater.material_name,
|
mater.material_name,
|
||||||
|
|||||||
@@ -12,6 +12,10 @@
|
|||||||
AND
|
AND
|
||||||
attr.sect_id LIKE #{param.sect_id}
|
attr.sect_id LIKE #{param.sect_id}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="param.ext_id != null and param.ext_id != ''">
|
||||||
|
AND
|
||||||
|
attr.ext_id = #{param.ext_id}
|
||||||
|
</if>
|
||||||
|
|
||||||
</where>
|
</where>
|
||||||
GROUP BY
|
GROUP BY
|
||||||
|
|||||||
@@ -45,6 +45,10 @@ public class StrategyStructParam {
|
|||||||
* 载具编码
|
* 载具编码
|
||||||
*/
|
*/
|
||||||
private String storagevehicle_code;
|
private String storagevehicle_code;
|
||||||
|
/**
|
||||||
|
* 对应称重平台
|
||||||
|
*/
|
||||||
|
private String ext_id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 载具明细:混料的话则是数组
|
* 载具明细:混料的话则是数组
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package org.nl.wms.decision_manage.service.decisioner.impl.base;
|
package org.nl.wms.decision_manage.service.decisioner.impl.base;
|
||||||
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.common.exception.BadRequestException;
|
import org.nl.common.exception.BadRequestException;
|
||||||
@@ -13,6 +14,7 @@ import org.nl.wms.basedata_manage.service.dao.mapper.StructattrMapper;
|
|||||||
import org.nl.wms.basedata_manage.service.dto.StrategyMater;
|
import org.nl.wms.basedata_manage.service.dto.StrategyMater;
|
||||||
import org.nl.wms.basedata_manage.service.dto.StrategyStructParam;
|
import org.nl.wms.basedata_manage.service.dto.StrategyStructParam;
|
||||||
import org.nl.wms.decision_manage.service.decisioner.Decisioner;
|
import org.nl.wms.decision_manage.service.decisioner.Decisioner;
|
||||||
|
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.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@@ -20,6 +22,7 @@ import javax.annotation.Resource;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -42,6 +45,67 @@ public class MiddleRuleHandler extends Decisioner<Structattr, StrategyStructPara
|
|||||||
@Resource
|
@Resource
|
||||||
private StructattrMapper structattrMapper;
|
private StructattrMapper structattrMapper;
|
||||||
|
|
||||||
|
public List<Structattr> handler1(List<Structattr> list, StrategyStructParam param) {
|
||||||
|
log.info("---------执行middle入库分配规则---------");
|
||||||
|
List<Structattr> resuList = new ArrayList<>();
|
||||||
|
|
||||||
|
Structattr structattr = list.get(0);
|
||||||
|
List<Structattr> attrList = iStructattrService.list(
|
||||||
|
new QueryWrapper<Structattr>().lambda()
|
||||||
|
.eq(Structattr::getSect_id, structattr.getSect_id())
|
||||||
|
.and(row -> row.isNotNull(Structattr::getStoragevehicle_code)
|
||||||
|
.ne(Structattr::getStoragevehicle_code, "")
|
||||||
|
)
|
||||||
|
);
|
||||||
|
// 查询此托盘对应的库存信息
|
||||||
|
List<String> vehicleList = attrList.stream()
|
||||||
|
.map(Structattr::getStoragevehicle_code)
|
||||||
|
.distinct()
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
if (ObjectUtil.isEmpty(vehicleList)) {
|
||||||
|
// 为空:查询空的一组可用货位
|
||||||
|
return this.queryAttrGroup(structattr,param.getExt_id());
|
||||||
|
}
|
||||||
|
|
||||||
|
List<MdPbStoragevehicleext> extList = iMdPbStoragevehicleextService.list(
|
||||||
|
new QueryWrapper<MdPbStoragevehicleext>().lambda()
|
||||||
|
.in(MdPbStoragevehicleext::getStoragevehicle_code, vehicleList)
|
||||||
|
);
|
||||||
|
|
||||||
|
// 不为空:判断是否有相同物料批次的库存
|
||||||
|
StrategyMater strategyMater = param.getStrategyMaters().get(0);
|
||||||
|
MdPbStoragevehicleext extDaoLike = extList.stream()
|
||||||
|
.filter(row -> row.getMaterial_id().equals(strategyMater.getMaterial_id())
|
||||||
|
&& row.getPcsn().equals(strategyMater.getPcsn())
|
||||||
|
).findFirst().orElse(null);
|
||||||
|
|
||||||
|
if (ObjectUtil.isEmpty(extDaoLike)) {
|
||||||
|
// 为空:查询空的一组可用货位
|
||||||
|
return this.queryAttrGroup(structattr,param.getExt_id());
|
||||||
|
}
|
||||||
|
// 不为空查询此组空位
|
||||||
|
Structattr attrLikeVehicle = iStructattrService.getOne(
|
||||||
|
new QueryWrapper<Structattr>().lambda()
|
||||||
|
.eq(Structattr::getStoragevehicle_code, extDaoLike.getStoragevehicle_code())
|
||||||
|
);
|
||||||
|
resuList = iStructattrService.list(
|
||||||
|
new QueryWrapper<Structattr>().lambda()
|
||||||
|
.eq(Structattr::getSect_id, structattr.getSect_id())
|
||||||
|
.eq(Structattr::getBlock_num, attrLikeVehicle.getBlock_num())
|
||||||
|
.eq(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定"))
|
||||||
|
.and(row -> row.isNull(Structattr::getStoragevehicle_code)
|
||||||
|
.or().eq(Structattr::getStoragevehicle_code, "")
|
||||||
|
)
|
||||||
|
.orderByAsc(Structattr::getStruct_code)
|
||||||
|
);
|
||||||
|
if (ObjectUtil.isEmpty(resuList)) {
|
||||||
|
return this.queryAttrGroup(structattr, param.getExt_id());
|
||||||
|
}
|
||||||
|
return resuList;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Structattr> handler(List<Structattr> list, StrategyStructParam param) {
|
public List<Structattr> handler(List<Structattr> list, StrategyStructParam param) {
|
||||||
log.info("---------执行middle入库分配规则---------");
|
log.info("---------执行middle入库分配规则---------");
|
||||||
@@ -63,7 +127,7 @@ public class MiddleRuleHandler extends Decisioner<Structattr, StrategyStructPara
|
|||||||
|
|
||||||
if (ObjectUtil.isEmpty(vehicleList)) {
|
if (ObjectUtil.isEmpty(vehicleList)) {
|
||||||
// 为空:查询空的一组可用货位
|
// 为空:查询空的一组可用货位
|
||||||
return this.queryAttrGroup(structattr);
|
return this.queryAttrGroup(structattr,param.getExt_id());
|
||||||
}
|
}
|
||||||
|
|
||||||
List<MdPbStoragevehicleext> extList = iMdPbStoragevehicleextService.list(
|
List<MdPbStoragevehicleext> extList = iMdPbStoragevehicleextService.list(
|
||||||
@@ -73,32 +137,44 @@ public class MiddleRuleHandler extends Decisioner<Structattr, StrategyStructPara
|
|||||||
|
|
||||||
// 不为空:判断是否有相同物料批次的库存
|
// 不为空:判断是否有相同物料批次的库存
|
||||||
StrategyMater strategyMater = param.getStrategyMaters().get(0);
|
StrategyMater strategyMater = param.getStrategyMaters().get(0);
|
||||||
MdPbStoragevehicleext extDaoLike = extList.stream()
|
List<MdPbStoragevehicleext> extDaoLikeList = extList.stream()
|
||||||
.filter(row -> row.getMaterial_id().equals(strategyMater.getMaterial_id())
|
.filter(row -> row.getMaterial_id().equals(strategyMater.getMaterial_id())
|
||||||
&& row.getPcsn().equals(strategyMater.getPcsn())
|
&& row.getPcsn().equals(strategyMater.getPcsn())
|
||||||
).findFirst().orElse(null);
|
).collect(Collectors.toList());
|
||||||
|
|
||||||
if (ObjectUtil.isEmpty(extDaoLike)) {
|
if (ObjectUtil.isEmpty(extDaoLikeList)) {
|
||||||
// 为空:查询空的一组可用货位
|
// 为空:查询空的一组可用货位
|
||||||
return this.queryAttrGroup(structattr);
|
return this.queryAttrGroup(structattr,param.getExt_id());
|
||||||
}
|
}
|
||||||
// 不为空查询此组空位
|
// 查询所属仓位
|
||||||
Structattr attrLikeVehicle = iStructattrService.getOne(
|
List<String> vehicleInfo = extDaoLikeList.stream()
|
||||||
|
.map(MdPbStoragevehicleext::getStoragevehicle_code)
|
||||||
|
.distinct()
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
List<Structattr> attrListInfo = iStructattrService.list(
|
||||||
new QueryWrapper<Structattr>().lambda()
|
new QueryWrapper<Structattr>().lambda()
|
||||||
.eq(Structattr::getStoragevehicle_code, extDaoLike.getStoragevehicle_code())
|
.in(Structattr::getStoragevehicle_code, vehicleInfo)
|
||||||
);
|
|
||||||
resuList = iStructattrService.list(
|
|
||||||
new QueryWrapper<Structattr>().lambda()
|
|
||||||
.eq(Structattr::getSect_id, structattr.getSect_id())
|
|
||||||
.eq(Structattr::getBlock_num, attrLikeVehicle.getBlock_num())
|
|
||||||
.eq(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定"))
|
|
||||||
.and(row -> row.isNull(Structattr::getStoragevehicle_code)
|
|
||||||
.or().eq(Structattr::getStoragevehicle_code, "")
|
|
||||||
)
|
|
||||||
.orderByAsc(Structattr::getStruct_code)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
|
for (Structattr attr : attrListInfo) {
|
||||||
|
// 不为空查询此组空位
|
||||||
|
resuList = iStructattrService.list(
|
||||||
|
new QueryWrapper<Structattr>().lambda()
|
||||||
|
.eq(Structattr::getSect_id, structattr.getSect_id())
|
||||||
|
.eq(Structattr::getBlock_num, attr.getBlock_num())
|
||||||
|
.eq(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定"))
|
||||||
|
.and(row -> row.isNull(Structattr::getStoragevehicle_code)
|
||||||
|
.or().eq(Structattr::getStoragevehicle_code, "")
|
||||||
|
)
|
||||||
|
.orderByAsc(Structattr::getStruct_code)
|
||||||
|
);
|
||||||
|
if (ObjectUtil.isNotEmpty(resuList)) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (ObjectUtil.isEmpty(resuList)) {
|
if (ObjectUtil.isEmpty(resuList)) {
|
||||||
return this.queryAttrGroup(structattr);
|
return this.queryAttrGroup(structattr, param.getExt_id());
|
||||||
}
|
}
|
||||||
return resuList;
|
return resuList;
|
||||||
|
|
||||||
@@ -110,9 +186,9 @@ public class MiddleRuleHandler extends Decisioner<Structattr, StrategyStructPara
|
|||||||
* @param structattr 实体类
|
* @param structattr 实体类
|
||||||
* @return List<Structattr>
|
* @return List<Structattr>
|
||||||
*/
|
*/
|
||||||
public List<Structattr> queryAttrGroup(Structattr structattr) {
|
public List<Structattr> queryAttrGroup(Structattr structattr, String ext_id) {
|
||||||
// 查询一组未有货组仓位
|
// 查询一组未有货组仓位
|
||||||
List<Structattr> groupBlockList = structattrMapper.queryAttrGroup(MapOf.of("sect_id", structattr.getSect_id()));
|
List<Structattr> groupBlockList = structattrMapper.queryAttrGroup(MapOf.of("sect_id", structattr.getSect_id(),"ext_id",ext_id));
|
||||||
if (ObjectUtil.isEmpty(groupBlockList)) {
|
if (ObjectUtil.isEmpty(groupBlockList)) {
|
||||||
throw new BadRequestException("当前组仓位不足!");
|
throw new BadRequestException("当前组仓位不足!");
|
||||||
}
|
}
|
||||||
@@ -125,4 +201,66 @@ public class MiddleRuleHandler extends Decisioner<Structattr, StrategyStructPara
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Structattr isLikeMaterial(JSONObject json) {
|
||||||
|
String material_id = json.getString("material_id");
|
||||||
|
String pcsn = json.getString("pcsn");
|
||||||
|
|
||||||
|
List<Structattr> attrList = iStructattrService.list(
|
||||||
|
new QueryWrapper<Structattr>().lambda()
|
||||||
|
.eq(Structattr::getSect_id, IOSEnum.SECT_ID.code("中间站库区"))
|
||||||
|
.and(row -> row.isNotNull(Structattr::getStoragevehicle_code)
|
||||||
|
.ne(Structattr::getStoragevehicle_code, "")
|
||||||
|
)
|
||||||
|
);
|
||||||
|
// 查询此托盘对应的库存信息
|
||||||
|
List<String> vehicleList = attrList.stream()
|
||||||
|
.map(Structattr::getStoragevehicle_code)
|
||||||
|
.distinct()
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
if (ObjectUtil.isEmpty(vehicleList)) {
|
||||||
|
// 为空:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<MdPbStoragevehicleext> extList = iMdPbStoragevehicleextService.list(
|
||||||
|
new QueryWrapper<MdPbStoragevehicleext>().lambda()
|
||||||
|
.in(MdPbStoragevehicleext::getStoragevehicle_code, vehicleList)
|
||||||
|
);
|
||||||
|
|
||||||
|
// 不为空:判断是否有相同物料批次的库存
|
||||||
|
MdPbStoragevehicleext extDaoLike = extList.stream()
|
||||||
|
.filter(row -> row.getMaterial_id().equals(material_id)
|
||||||
|
&& row.getPcsn().equals(pcsn)
|
||||||
|
).findFirst().orElse(null);
|
||||||
|
|
||||||
|
if (ObjectUtil.isEmpty(extDaoLike)) {
|
||||||
|
// 为空:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 不为空查询此组空位
|
||||||
|
Structattr attrLikeVehicle = iStructattrService.getOne(
|
||||||
|
new QueryWrapper<Structattr>().lambda()
|
||||||
|
.eq(Structattr::getStoragevehicle_code, extDaoLike.getStoragevehicle_code())
|
||||||
|
);
|
||||||
|
|
||||||
|
List<Structattr> attrListRest = iStructattrService.list(
|
||||||
|
new QueryWrapper<Structattr>().lambda()
|
||||||
|
.eq(Structattr::getSect_id, IOSEnum.SECT_ID.code("中间站库区"))
|
||||||
|
.eq(Structattr::getBlock_num, attrLikeVehicle.getBlock_num())
|
||||||
|
.eq(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定"))
|
||||||
|
.and(row -> row.isNull(Structattr::getStoragevehicle_code)
|
||||||
|
.or().eq(Structattr::getStoragevehicle_code, "")
|
||||||
|
)
|
||||||
|
.orderByAsc(Structattr::getStruct_code)
|
||||||
|
);
|
||||||
|
|
||||||
|
if (ObjectUtil.isEmpty(attrListRest)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return attrListRest.get(0);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ public class EXTConstant {
|
|||||||
/**
|
/**
|
||||||
* ACS下发 取放货确认
|
* ACS下发 取放货确认
|
||||||
*/
|
*/
|
||||||
public final static String CONFIRM_AGV_ACS_API = "api/wms/confirmAgv";
|
public final static String CONFIRM_AGV_ACS_API = "api/wms/isGetPut";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ACS下发 获取称重信息
|
* ACS下发 获取称重信息
|
||||||
|
|||||||
@@ -41,9 +41,8 @@ public interface WmsToAcsService {
|
|||||||
/**
|
/**
|
||||||
* 确认取放货
|
* 确认取放货
|
||||||
* @param whereJson {
|
* @param whereJson {
|
||||||
* task_type: 1-取货确认 2- 放货确认
|
* type: 1-取货完成 2- 放货完成
|
||||||
* task_code: 任务号
|
* device_code: 点位编码
|
||||||
* point_code: 点位编码
|
|
||||||
* }
|
* }
|
||||||
* @return AcsResponse
|
* @return AcsResponse
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -41,6 +41,5 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
|
|||||||
@Override
|
@Override
|
||||||
public AcsResponse confirmAgv(JSONObject whereJson) {
|
public AcsResponse confirmAgv(JSONObject whereJson) {
|
||||||
return AcsUtil.notifyAcs(EXTConstant.CONFIRM_AGV_ACS_API, whereJson);
|
return AcsUtil.notifyAcs(EXTConstant.CONFIRM_AGV_ACS_API, whereJson);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ import org.nl.wms.sch_manage.service.ISchBaseTaskService;
|
|||||||
import org.nl.wms.sch_manage.service.SecondaryPackagingService;
|
import org.nl.wms.sch_manage.service.SecondaryPackagingService;
|
||||||
import org.nl.wms.sch_manage.service.dao.SchBasePoint;
|
import org.nl.wms.sch_manage.service.dao.SchBasePoint;
|
||||||
import org.nl.wms.sch_manage.service.dao.SchBaseTask;
|
import org.nl.wms.sch_manage.service.dao.SchBaseTask;
|
||||||
|
import org.nl.wms.sch_manage.service.dao.mapper.SchBasePointMapper;
|
||||||
import org.nl.wms.sch_manage.service.util.AbstractTask;
|
import org.nl.wms.sch_manage.service.util.AbstractTask;
|
||||||
import org.nl.wms.sch_manage.service.util.TaskFactory;
|
import org.nl.wms.sch_manage.service.util.TaskFactory;
|
||||||
import org.nl.wms.sch_manage.service.util.tasks.PalletOutTask;
|
import org.nl.wms.sch_manage.service.util.tasks.PalletOutTask;
|
||||||
@@ -121,6 +122,8 @@ public class PdaProductionServiceImpl implements PdaProductionService {
|
|||||||
private SecondaryPackagingService secondaryPackagingService;
|
private SecondaryPackagingService secondaryPackagingService;
|
||||||
@Resource
|
@Resource
|
||||||
private SectMaterialCheck sectMaterialCheck;
|
private SectMaterialCheck sectMaterialCheck;
|
||||||
|
@Resource
|
||||||
|
private SchBasePointMapper schBasePointMapper;
|
||||||
@Override
|
@Override
|
||||||
public PdaResponse getGroupInfo(JSONObject param) {
|
public PdaResponse getGroupInfo(JSONObject param) {
|
||||||
// search;
|
// search;
|
||||||
@@ -662,10 +665,13 @@ public class PdaProductionServiceImpl implements PdaProductionService {
|
|||||||
JSONObject divObj = defaultPdaBuildParam.buildManuaOutBuckDivData(param, ioStorInvDtlDto);
|
JSONObject divObj = defaultPdaBuildParam.buildManuaOutBuckDivData(param, ioStorInvDtlDto);
|
||||||
outBillService.manualDiv(divObj);
|
outBillService.manualDiv(divObj);
|
||||||
}
|
}
|
||||||
// 找一个没任务的称重位
|
|
||||||
List<SchBasePoint> czws = pointService.getCanUsePointByRegion("ZJZ01");
|
// 根据仓位定位到出到哪个称重位
|
||||||
|
String end_code = structattr.getExt_id();
|
||||||
|
List<SchBasePoint> czws = schBasePointMapper.getCanUsePointByCode(end_code);
|
||||||
|
// List<SchBasePoint> czws = pointService.getCanUsePointByRegion("ZJZ01");
|
||||||
if (czws.isEmpty()) {
|
if (czws.isEmpty()) {
|
||||||
throw new BadRequestException("找不到中间站的称重位!");
|
throw new BadRequestException("当前称重位【"+end_code+"】有任务在执行");
|
||||||
}
|
}
|
||||||
// 3 创建任务
|
// 3 创建任务
|
||||||
JSONObject jsonMst = defaultPdaBuildParam.buildOutAllSetData(czws.get(0), invId);
|
JSONObject jsonMst = defaultPdaBuildParam.buildOutAllSetData(czws.get(0), invId);
|
||||||
@@ -763,6 +769,7 @@ public class PdaProductionServiceImpl implements PdaProductionService {
|
|||||||
String invId = rawAssistIStorService.insertDtl(invObj);
|
String invId = rawAssistIStorService.insertDtl(invObj);
|
||||||
// 2 调用分配
|
// 2 调用分配
|
||||||
Map<String, Object> divObj = defaultPdaBuildParam.buildDivStructData(param2, sectattr, invId, true);
|
Map<String, Object> divObj = defaultPdaBuildParam.buildDivStructData(param2, sectattr, invId, true);
|
||||||
|
divObj.put("ext_id", startPoint.getPoint_code());
|
||||||
rawAssistIStorService.divStruct(divObj);
|
rawAssistIStorService.divStruct(divObj);
|
||||||
// 3 创建任务
|
// 3 创建任务
|
||||||
Map<String, Object> jsonMst = defaultPdaBuildParam.buildTaskData(startPoint, invId);
|
Map<String, Object> jsonMst = defaultPdaBuildParam.buildTaskData(startPoint, invId);
|
||||||
|
|||||||
@@ -76,14 +76,14 @@ public class SchBasePointController {
|
|||||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Log("确认取货")
|
@Log("取货完成")
|
||||||
@PostMapping("/getConfirm")
|
@PostMapping("/getConfirm")
|
||||||
public ResponseEntity<Object> getConfirm(@RequestBody JSONObject whereJson) {
|
public ResponseEntity<Object> getConfirm(@RequestBody JSONObject whereJson) {
|
||||||
schBasePointService.getConfirm(whereJson);
|
schBasePointService.getConfirm(whereJson);
|
||||||
return new ResponseEntity<>(HttpStatus.OK);
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Log("确认放货")
|
@Log("放货完成")
|
||||||
@PostMapping("/putConfirm")
|
@PostMapping("/putConfirm")
|
||||||
public ResponseEntity<Object> putConfirm(@RequestBody JSONObject whereJson) {
|
public ResponseEntity<Object> putConfirm(@RequestBody JSONObject whereJson) {
|
||||||
schBasePointService.putConfirm(whereJson);
|
schBasePointService.putConfirm(whereJson);
|
||||||
|
|||||||
@@ -92,13 +92,13 @@ public interface ISchBasePointService extends IService<SchBasePoint> {
|
|||||||
void unLockPoint(String point_code);
|
void unLockPoint(String point_code);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 确认取货
|
* 取货完成
|
||||||
* @param whereJson 点位实体
|
* @param whereJson 点位实体
|
||||||
*/
|
*/
|
||||||
void getConfirm(JSONObject whereJson);
|
void getConfirm(JSONObject whereJson);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 确认放货
|
* 放货完成
|
||||||
* @param whereJson 点位实体
|
* @param whereJson 点位实体
|
||||||
*/
|
*/
|
||||||
void putConfirm(JSONObject whereJson);
|
void putConfirm(JSONObject whereJson);
|
||||||
|
|||||||
@@ -59,6 +59,8 @@ public interface SchBasePointMapper extends BaseMapper<SchBasePoint> {
|
|||||||
|
|
||||||
List<SchBasePoint> getCanUsePointByRegion(String regionCode);
|
List<SchBasePoint> getCanUsePointByRegion(String regionCode);
|
||||||
|
|
||||||
|
List<SchBasePoint> getCanUsePointByCode(String point_code);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 无人车卸货 - 查询无人车点位信息
|
* 无人车卸货 - 查询无人车点位信息
|
||||||
* @return PdaResponse
|
* @return PdaResponse
|
||||||
|
|||||||
@@ -124,6 +124,20 @@
|
|||||||
OR t.point_code2 = p.point_code ))
|
OR t.point_code2 = p.point_code ))
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getCanUsePointByCode" resultType="org.nl.wms.sch_manage.service.dao.SchBasePoint">
|
||||||
|
SELECT *
|
||||||
|
FROM `sch_base_point` p
|
||||||
|
WHERE p.point_code = #{point_code}
|
||||||
|
AND p.is_used = TRUE
|
||||||
|
AND p.point_status = '1'
|
||||||
|
AND 0 = (SELECT COUNT(*)
|
||||||
|
FROM sch_base_task t
|
||||||
|
WHERE t.is_delete = '0'
|
||||||
|
AND t.task_status <![CDATA[ < ]]> '5'
|
||||||
|
AND ( t.point_code1 = p.point_code
|
||||||
|
OR t.point_code2 = p.point_code ))
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="queryNotCarPoint" resultType="com.alibaba.fastjson.JSONObject">
|
<select id="queryNotCarPoint" resultType="com.alibaba.fastjson.JSONObject">
|
||||||
SELECT
|
SELECT
|
||||||
point.*,
|
point.*,
|
||||||
|
|||||||
@@ -224,26 +224,10 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
|||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public void getConfirm(JSONObject whereJson) {
|
public void getConfirm(JSONObject whereJson) {
|
||||||
SchBasePoint pointDao = this.getById(whereJson.getString("point_code"));
|
|
||||||
if (ObjectUtil.isEmpty(pointDao.getIng_task_code())) {
|
|
||||||
throw new BadRequestException("当前站点没有任务【"+pointDao.getPoint_code()+"】");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询任务
|
|
||||||
SchBaseTask taskDao = iSchBaseTaskService.getById(pointDao.getIng_task_code());
|
|
||||||
if (ObjectUtil.isEmpty(taskDao)) {
|
|
||||||
throw new BadRequestException("当前点位没有正在执行的任务!");
|
|
||||||
}
|
|
||||||
// 判断任务是否在执行中
|
|
||||||
if (!taskDao.getTask_status().equals(TaskStatus.EXECUTING.getCode())) {
|
|
||||||
throw new BadRequestException("当前点位任务已完成或未执行【"+taskDao.getTask_code()+"】");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 通知ACS可以离开
|
// 通知ACS可以离开
|
||||||
JSONObject jsonParam = new JSONObject();
|
JSONObject jsonParam = new JSONObject();
|
||||||
jsonParam.put("task_type", IOSConstant.ONE);
|
jsonParam.put("type", IOSConstant.ONE);
|
||||||
jsonParam.put("task_code", taskDao.getTask_code());
|
jsonParam.put("device_code", whereJson.getString("point_code"));
|
||||||
jsonParam.put("point_code", taskDao.getPoint_code2());
|
|
||||||
AcsResponse acsResponse = wmsToAcsService.confirmAgv(jsonParam);
|
AcsResponse acsResponse = wmsToAcsService.confirmAgv(jsonParam);
|
||||||
if (acsResponse.getStatus() != 200) {
|
if (acsResponse.getStatus() != 200) {
|
||||||
throw new BadRequestException(acsResponse.getMessage());
|
throw new BadRequestException(acsResponse.getMessage());
|
||||||
@@ -253,25 +237,10 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
|||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public void putConfirm(JSONObject whereJson) {
|
public void putConfirm(JSONObject whereJson) {
|
||||||
SchBasePoint pointDao = this.getById(whereJson.getString("point_code"));
|
|
||||||
if (ObjectUtil.isEmpty(pointDao.getIng_task_code())) {
|
|
||||||
throw new BadRequestException("当前站点没有任务【"+pointDao.getPoint_code()+"】");
|
|
||||||
}
|
|
||||||
// 查询任务
|
|
||||||
SchBaseTask taskDao = iSchBaseTaskService.getById(pointDao.getIng_task_code());
|
|
||||||
if (ObjectUtil.isEmpty(taskDao)) {
|
|
||||||
throw new BadRequestException("当前点位没有正在执行的任务!");
|
|
||||||
}
|
|
||||||
// 判断任务是否在执行中
|
|
||||||
if (!taskDao.getTask_status().equals(TaskStatus.EXECUTING.getCode())) {
|
|
||||||
throw new BadRequestException("当前点位任务已完成或未执行【"+taskDao.getTask_code()+"】");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 通知ACS可以离开
|
// 通知ACS可以离开
|
||||||
JSONObject jsonParam = new JSONObject();
|
JSONObject jsonParam = new JSONObject();
|
||||||
jsonParam.put("task_type", IOSConstant.TWO);
|
jsonParam.put("type", IOSConstant.TWO);
|
||||||
jsonParam.put("task_code", taskDao.getTask_code());
|
jsonParam.put("device_code", whereJson.getString("point_code"));
|
||||||
jsonParam.put("point_code", taskDao.getPoint_code1());
|
|
||||||
AcsResponse acsResponse = wmsToAcsService.confirmAgv(jsonParam);
|
AcsResponse acsResponse = wmsToAcsService.confirmAgv(jsonParam);
|
||||||
if (acsResponse.getStatus() != 200) {
|
if (acsResponse.getStatus() != 200) {
|
||||||
throw new BadRequestException(acsResponse.getMessage());
|
throw new BadRequestException(acsResponse.getMessage());
|
||||||
|
|||||||
@@ -85,7 +85,8 @@ public class CenterInTask extends AbstractTask {
|
|||||||
AcsTaskDto acsTaskDto = new AcsTaskDto();
|
AcsTaskDto acsTaskDto = new AcsTaskDto();
|
||||||
acsTaskDto.setExt_task_id(taskDao.getTask_id());
|
acsTaskDto.setExt_task_id(taskDao.getTask_id());
|
||||||
acsTaskDto.setTask_code(taskDao.getTask_code());
|
acsTaskDto.setTask_code(taskDao.getTask_code());
|
||||||
acsTaskDto.setStart_device_code(taskDao.getPoint_code1());
|
// 对应关系CZJT01 : CZJT03,CZJT02 : CZJT04
|
||||||
|
acsTaskDto.setStart_device_code(IOSEnum.CZW_SHIP.code(taskDao.getPoint_code1()));
|
||||||
acsTaskDto.setNext_device_code(taskDao.getPoint_code2());
|
acsTaskDto.setNext_device_code(taskDao.getPoint_code2());
|
||||||
acsTaskDto.setVehicle_code(taskDao.getVehicle_code());
|
acsTaskDto.setVehicle_code(taskDao.getVehicle_code());
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ import org.nl.wms.sch_manage.service.util.ACSTaskTypeEnum;
|
|||||||
import org.nl.wms.sch_manage.service.util.AbstractTask;
|
import org.nl.wms.sch_manage.service.util.AbstractTask;
|
||||||
import org.nl.wms.sch_manage.service.util.AcsTaskDto;
|
import org.nl.wms.sch_manage.service.util.AcsTaskDto;
|
||||||
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.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
@@ -75,7 +76,8 @@ public class CoatingUpTask extends AbstractTask {
|
|||||||
AcsTaskDto acsTaskDto = new AcsTaskDto();
|
AcsTaskDto acsTaskDto = new AcsTaskDto();
|
||||||
acsTaskDto.setExt_task_id(taskDao.getTask_id());
|
acsTaskDto.setExt_task_id(taskDao.getTask_id());
|
||||||
acsTaskDto.setTask_code(taskDao.getTask_code());
|
acsTaskDto.setTask_code(taskDao.getTask_code());
|
||||||
acsTaskDto.setStart_device_code(taskDao.getPoint_code1());
|
// 对应关系CZJT01 : CZJT03,CZJT02 : CZJT04
|
||||||
|
acsTaskDto.setStart_device_code(IOSEnum.CZW_SHIP.code(taskDao.getPoint_code1()));
|
||||||
acsTaskDto.setNext_device_code(taskDao.getPoint_code2());
|
acsTaskDto.setNext_device_code(taskDao.getPoint_code2());
|
||||||
acsTaskDto.setVehicle_code(taskDao.getVehicle_code());
|
acsTaskDto.setVehicle_code(taskDao.getVehicle_code());
|
||||||
|
|
||||||
|
|||||||
@@ -135,7 +135,8 @@ public class IntermediateOutTask extends AbstractTask {
|
|||||||
acsTaskDto.setExt_task_id(taskDao.getTask_id());
|
acsTaskDto.setExt_task_id(taskDao.getTask_id());
|
||||||
acsTaskDto.setTask_code(taskDao.getTask_code());
|
acsTaskDto.setTask_code(taskDao.getTask_code());
|
||||||
acsTaskDto.setStart_device_code(taskDao.getPoint_code1());
|
acsTaskDto.setStart_device_code(taskDao.getPoint_code1());
|
||||||
acsTaskDto.setNext_device_code(taskDao.getPoint_code2());
|
// 对应关系CZJT01 : CZJT03,CZJT02 : CZJT04
|
||||||
|
acsTaskDto.setNext_device_code(IOSEnum.CZW_SHIP.code(taskDao.getPoint_code2()));
|
||||||
acsTaskDto.setPriority(taskDao.getPriority());
|
acsTaskDto.setPriority(taskDao.getPriority());
|
||||||
acsTaskDto.setVehicle_code(taskDao.getVehicle_code());
|
acsTaskDto.setVehicle_code(taskDao.getVehicle_code());
|
||||||
|
|
||||||
@@ -211,6 +212,9 @@ public class IntermediateOutTask extends AbstractTask {
|
|||||||
throw new BadRequestException("获取重量失败:" + weighAcs.getMessage());
|
throw new BadRequestException("获取重量失败:" + weighAcs.getMessage());
|
||||||
}
|
}
|
||||||
JSONObject data = weighAcs.getParameters();
|
JSONObject data = weighAcs.getParameters();
|
||||||
|
if (ObjectUtil.isEmpty(data.getString("weigh")) || data.getDoubleValue("weigh") == 0) {
|
||||||
|
throw new BadRequestException("获取重量失败,重量为0或者为空!");
|
||||||
|
}
|
||||||
// 毛重
|
// 毛重
|
||||||
BigDecimal weigh = NumberUtil.round(data.getString("weigh"), 2);
|
BigDecimal weigh = NumberUtil.round(data.getString("weigh"), 2);
|
||||||
// 净重
|
// 净重
|
||||||
|
|||||||
@@ -5,13 +5,17 @@ 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.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
|
import org.apache.commons.collections4.Put;
|
||||||
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.wms.basedata_manage.service.IMdPdGroupbucketService;
|
import org.nl.wms.basedata_manage.service.IMdPdGroupbucketService;
|
||||||
import org.nl.wms.basedata_manage.service.ISectattrService;
|
import org.nl.wms.basedata_manage.service.ISectattrService;
|
||||||
import org.nl.wms.basedata_manage.service.dao.Sectattr;
|
import org.nl.wms.basedata_manage.service.dao.Sectattr;
|
||||||
|
import org.nl.wms.basedata_manage.service.dao.Structattr;
|
||||||
|
import org.nl.wms.decision_manage.service.decisioner.impl.base.MiddleRuleHandler;
|
||||||
import org.nl.wms.ext.service.WmsToAcsService;
|
import org.nl.wms.ext.service.WmsToAcsService;
|
||||||
import org.nl.wms.ext.service.util.AcsResponse;
|
import org.nl.wms.ext.service.util.AcsResponse;
|
||||||
import org.nl.wms.pda.general_management.service.PdaBuildParamService;
|
import org.nl.wms.pda.general_management.service.PdaBuildParamService;
|
||||||
@@ -21,6 +25,7 @@ import org.nl.wms.sch_manage.service.ISchBasePointService;
|
|||||||
import org.nl.wms.sch_manage.service.ISchBaseTaskService;
|
import org.nl.wms.sch_manage.service.ISchBaseTaskService;
|
||||||
import org.nl.wms.sch_manage.service.dao.SchBasePoint;
|
import org.nl.wms.sch_manage.service.dao.SchBasePoint;
|
||||||
import org.nl.wms.sch_manage.service.dao.SchBaseTask;
|
import org.nl.wms.sch_manage.service.dao.SchBaseTask;
|
||||||
|
import org.nl.wms.sch_manage.service.dao.mapper.SchBasePointMapper;
|
||||||
import org.nl.wms.sch_manage.service.util.ACSTaskTypeEnum;
|
import org.nl.wms.sch_manage.service.util.ACSTaskTypeEnum;
|
||||||
import org.nl.wms.sch_manage.service.util.AbstractTask;
|
import org.nl.wms.sch_manage.service.util.AbstractTask;
|
||||||
import org.nl.wms.sch_manage.service.util.AcsTaskDto;
|
import org.nl.wms.sch_manage.service.util.AcsTaskDto;
|
||||||
@@ -32,6 +37,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.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@@ -61,6 +67,8 @@ public class TabletingInTask extends AbstractTask {
|
|||||||
private IRawAssistIStorService rawAssistIStorService;
|
private IRawAssistIStorService rawAssistIStorService;
|
||||||
@Resource
|
@Resource
|
||||||
private WmsToAcsService wmsToAcsService;
|
private WmsToAcsService wmsToAcsService;
|
||||||
|
@Resource
|
||||||
|
private SchBasePointMapper schBasePointMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 桶记录服务
|
* 桶记录服务
|
||||||
@@ -76,12 +84,28 @@ public class TabletingInTask extends AbstractTask {
|
|||||||
if (bucket.size() == 0) {
|
if (bucket.size() == 0) {
|
||||||
throw new BadRequestException("该载具未存在组桶信息,请先组桶!");
|
throw new BadRequestException("该载具未存在组桶信息,请先组桶!");
|
||||||
}
|
}
|
||||||
// 找一个没任务的称重位
|
JSONObject jsonObject = bucket.get(0);
|
||||||
List<SchBasePoint> czws = pointService.getCanUsePointByRegion("ZJZ01");
|
List<SchBasePoint> czws = new ArrayList<>();
|
||||||
|
// 查询中间站是否有相同物料、批次仓位
|
||||||
|
JSONObject jsonObject1 = new JSONObject();
|
||||||
|
jsonObject1.put("material_id", jsonObject.getString("material_id"));
|
||||||
|
jsonObject1.put("pcsn", jsonObject.getString("pcsn"));
|
||||||
|
// 调用分配规则
|
||||||
|
MiddleRuleHandler bean = SpringContextHolder.getBean(MiddleRuleHandler.class);
|
||||||
|
Structattr attr = bean.isLikeMaterial(jsonObject1);
|
||||||
|
if (ObjectUtil.isEmpty(attr)) {
|
||||||
|
// 找一个没任务的称重位
|
||||||
|
czws = pointService.getCanUsePointByRegion("ZJZ01");
|
||||||
|
} else {
|
||||||
|
czws = schBasePointMapper.getCanUsePointByCode(attr.getExt_id());
|
||||||
|
if (czws.size() == 0) {
|
||||||
|
throw new BadRequestException("称重位【"+attr.getExt_id()+"】有任务正在执行!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (czws.size() == 0) {
|
if (czws.size() == 0) {
|
||||||
throw new BadRequestException("找不到中间站的称重位!");
|
throw new BadRequestException("找不到中间站的称重位!");
|
||||||
}
|
}
|
||||||
JSONObject jsonObject = bucket.get(0);
|
|
||||||
SchBasePoint point = czws.get(0);
|
SchBasePoint point = czws.get(0);
|
||||||
SchBaseTask task = new SchBaseTask();
|
SchBaseTask task = new SchBaseTask();
|
||||||
task.setTask_id(IdUtil.getStringId());
|
task.setTask_id(IdUtil.getStringId());
|
||||||
@@ -119,7 +143,8 @@ public class TabletingInTask extends AbstractTask {
|
|||||||
acsTaskDto.setExt_task_id(taskDao.getTask_id());
|
acsTaskDto.setExt_task_id(taskDao.getTask_id());
|
||||||
acsTaskDto.setTask_code(taskDao.getTask_code());
|
acsTaskDto.setTask_code(taskDao.getTask_code());
|
||||||
acsTaskDto.setStart_device_code(taskDao.getPoint_code1());
|
acsTaskDto.setStart_device_code(taskDao.getPoint_code1());
|
||||||
acsTaskDto.setNext_device_code(taskDao.getPoint_code2());
|
// 对应关系CZJT01 : CZJT03,CZJT02 : CZJT04
|
||||||
|
acsTaskDto.setNext_device_code(IOSEnum.CZW_SHIP.code(taskDao.getPoint_code2()));
|
||||||
acsTaskDto.setVehicle_code(taskDao.getVehicle_code());
|
acsTaskDto.setVehicle_code(taskDao.getVehicle_code());
|
||||||
|
|
||||||
acsTaskDto.setVehicle_type(IOSConstant.ONE);
|
acsTaskDto.setVehicle_type(IOSConstant.ONE);
|
||||||
@@ -222,6 +247,7 @@ public class TabletingInTask extends AbstractTask {
|
|||||||
String invId = rawAssistIStorService.insertDtl(invObj);
|
String invId = rawAssistIStorService.insertDtl(invObj);
|
||||||
// 2 调用分配
|
// 2 调用分配
|
||||||
Map<String, Object> divObj = defaultPdaBuildParam.buildDivStructData(param, sectattr, invId, true);
|
Map<String, Object> divObj = defaultPdaBuildParam.buildDivStructData(param, sectattr, invId, true);
|
||||||
|
divObj.put("ext_id", taskObj.getPoint_code2());
|
||||||
rawAssistIStorService.divStruct(divObj);
|
rawAssistIStorService.divStruct(divObj);
|
||||||
// 3 创建任务
|
// 3 创建任务
|
||||||
Map<String, Object> jsonMst = defaultPdaBuildParam.buildTaskData(startPoint, invId);
|
Map<String, Object> jsonMst = defaultPdaBuildParam.buildTaskData(startPoint, invId);
|
||||||
|
|||||||
@@ -93,6 +93,9 @@ public enum IOSEnum {
|
|||||||
// 仓库ID
|
// 仓库ID
|
||||||
STOR_ID(MapOf.of("物料室仓库", "1582991156504039424","内包材仓库","1582991156504039425")),
|
STOR_ID(MapOf.of("物料室仓库", "1582991156504039424","内包材仓库","1582991156504039425")),
|
||||||
|
|
||||||
|
// 库区id
|
||||||
|
SECT_ID(MapOf.of("中间站库区", "1993215690856861696")),
|
||||||
|
|
||||||
// 库区编码
|
// 库区编码
|
||||||
SECT_CODE(MapOf.of("内包材区", "NBC01", "批料室区", "PZC01",
|
SECT_CODE(MapOf.of("内包材区", "NBC01", "批料室区", "PZC01",
|
||||||
"中间站区", "ZZC01", "物料间区", "WZC01", "辅料区", "WFL01", "原料区", "WYL01",
|
"中间站区", "ZZC01", "物料间区", "WZC01", "辅料区", "WFL01", "原料区", "WYL01",
|
||||||
@@ -145,6 +148,9 @@ public enum IOSEnum {
|
|||||||
// 打印记录托盘类型
|
// 打印记录托盘类型
|
||||||
PRINT_VEHICLE_TYPE(MapOf.of("托盘", "1", "料桶", "2")),
|
PRINT_VEHICLE_TYPE(MapOf.of("托盘", "1", "料桶", "2")),
|
||||||
|
|
||||||
|
// 中间站称重机台对应关系1.CZJT01:CZJT03,2.CZJT02:CZJT04
|
||||||
|
CZW_SHIP(MapOf.of("CZJT01", "CZJT03", "CZJT02", "CZJT04")),
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
private Map<String, String> code;
|
private Map<String, String> code;
|
||||||
|
|||||||
@@ -421,6 +421,7 @@ public class RawAssistIStorServiceImpl extends ServiceImpl<IOStorInvMapper, IOSt
|
|||||||
jo_form.put("stor_code", storDao.getStor_code());
|
jo_form.put("stor_code", storDao.getStor_code());
|
||||||
jo_form.put("storagevehicle_code", map.get("storagevehicle_code"));
|
jo_form.put("storagevehicle_code", map.get("storagevehicle_code"));
|
||||||
jo_form.put("strategyMaters", strategyDaoList);
|
jo_form.put("strategyMaters", strategyDaoList);
|
||||||
|
jo_form.put("ext_id", whereJson.get("ext_id"));
|
||||||
// 调用自动分配
|
// 调用自动分配
|
||||||
struct = this.autoDis(jo_form);
|
struct = this.autoDis(jo_form);
|
||||||
} else {
|
} else {
|
||||||
@@ -850,6 +851,7 @@ public class RawAssistIStorServiceImpl extends ServiceImpl<IOStorInvMapper, IOSt
|
|||||||
.sect_code(whereJson.getString("sect_code"))
|
.sect_code(whereJson.getString("sect_code"))
|
||||||
.stor_code(whereJson.getString("stor_code"))
|
.stor_code(whereJson.getString("stor_code"))
|
||||||
.storagevehicle_code(whereJson.getString("storagevehicle_code"))
|
.storagevehicle_code(whereJson.getString("storagevehicle_code"))
|
||||||
|
.ext_id(whereJson.getString("ext_id"))
|
||||||
.strategyMaters(whereJson.getJSONArray("strategyMaters").toJavaList(StrategyMater.class))
|
.strategyMaters(whereJson.getJSONArray("strategyMaters").toJavaList(StrategyMater.class))
|
||||||
.build());
|
.build());
|
||||||
|
|
||||||
|
|||||||
@@ -175,20 +175,20 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
icon="el-icon-circle-close"
|
icon="el-icon-circle-close"
|
||||||
:disabled="crud.selections.length !== 1"
|
:disabled="crud.selections.length !== 1"
|
||||||
@click="cleanVehicle"
|
@click="getConfirm"
|
||||||
>
|
>
|
||||||
清载具
|
放货完成
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
slot="right"
|
slot="right"
|
||||||
class="filter-item"
|
class="filter-item"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="danger"
|
type="primary"
|
||||||
icon="el-icon-circle-close"
|
icon="el-icon-circle-close"
|
||||||
:disabled="crud.selections.length !== 1"
|
:disabled="crud.selections.length !== 1"
|
||||||
@click="cleanMaterial"
|
@click="putConfirm"
|
||||||
>
|
>
|
||||||
清物料
|
取货完成
|
||||||
</el-button>
|
</el-button>
|
||||||
</crudOperation>
|
</crudOperation>
|
||||||
<!--表单组件-->
|
<!--表单组件-->
|
||||||
@@ -601,16 +601,16 @@ export default {
|
|||||||
this.crud.toQuery()
|
this.crud.toQuery()
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
cleanVehicle() {
|
getConfirm() {
|
||||||
const data = this.$refs.table.selection[0]
|
const data = this.$refs.table.selection[0]
|
||||||
crudSchBasePoint.cleanVehicle(data).then(res => {
|
crudSchBasePoint.getConfirm(data).then(res => {
|
||||||
this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||||
this.crud.toQuery()
|
this.crud.toQuery()
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
cleanMaterial() {
|
putConfirm() {
|
||||||
const data = this.$refs.table.selection[0]
|
const data = this.$refs.table.selection[0]
|
||||||
crudSchBasePoint.cleanMaterial(data).then(res => {
|
crudSchBasePoint.putConfirm(data).then(res => {
|
||||||
this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||||
this.crud.toQuery()
|
this.crud.toQuery()
|
||||||
})
|
})
|
||||||
@@ -688,8 +688,8 @@ export default {
|
|||||||
// 表格渲染
|
// 表格渲染
|
||||||
LODOP.ADD_PRINT_TABLE('15mm', '5mm', '95%', '95%', tableHtml)
|
LODOP.ADD_PRINT_TABLE('15mm', '5mm', '95%', '95%', tableHtml)
|
||||||
|
|
||||||
LODOP.PREVIEW()// 预览
|
// LODOP.PREVIEW()// 预览
|
||||||
// LODOP.PRINT()// 打印
|
LODOP.PRINT()// 打印
|
||||||
// LODOP.PRINT_DESIGN()// 编辑
|
// LODOP.PRINT_DESIGN()// 编辑
|
||||||
this.crud.notify('打印成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
this.crud.notify('打印成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||||
this.crud.toQuery()
|
this.crud.toQuery()
|
||||||
|
|||||||
@@ -90,6 +90,7 @@
|
|||||||
<el-table-column prop="canuse_qty" label="可用数" :formatter="crud.formatNum3" :min-width="100" />
|
<el-table-column prop="canuse_qty" label="可用数" :formatter="crud.formatNum3" :min-width="100" />
|
||||||
<el-table-column prop="frozen_qty" label="冻结数" :formatter="crud.formatNum3" :min-width="100" />
|
<el-table-column prop="frozen_qty" label="冻结数" :formatter="crud.formatNum3" :min-width="100" />
|
||||||
<el-table-column prop="qty_unit_name" label="计量单位" :min-width="flexWidth('qty_unit_name',crud.data,'计量单位')" />
|
<el-table-column prop="qty_unit_name" label="计量单位" :min-width="flexWidth('qty_unit_name',crud.data,'计量单位')" />
|
||||||
|
<el-table-column prop="block_num" label="所属区块" :min-width="flexWidth('block_num',crud.data,'所属区块')" />
|
||||||
<el-table-column prop="remark" label="备注" :min-width="flexWidth('remark',crud.data,'备注')" />
|
<el-table-column prop="remark" label="备注" :min-width="flexWidth('remark',crud.data,'备注')" />
|
||||||
<el-table-column prop="insert_time" label="入库时间" :min-width="flexWidth('insert_time',crud.data,'入库时间')" />
|
<el-table-column prop="insert_time" label="入库时间" :min-width="flexWidth('insert_time',crud.data,'入库时间')" />
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|||||||
Reference in New Issue
Block a user