fix:出入库流程修改
This commit is contained in:
@@ -87,6 +87,7 @@ public class TwoLashTask extends AbstractAcsTask {
|
||||
interaction_json.put("height",dao.get(0).getBox_high());
|
||||
interaction_json.put("template","2");
|
||||
interaction_json.put("bindingTimes","1");
|
||||
interaction_json.put("isBinding", IOSEnum.IS_SEND.code("是"));
|
||||
|
||||
char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1);
|
||||
AcsTaskDto dto = AcsTaskDto.builder()
|
||||
|
||||
@@ -7,8 +7,11 @@ import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import org.checkerframework.checker.units.qual.A;
|
||||
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
||||
import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxinfoService;
|
||||
import org.nl.b_lms.storage_manage.database.service.dao.BstIvtBoxinfo;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvService;
|
||||
import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvdisService;
|
||||
@@ -53,6 +56,9 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
@Autowired
|
||||
private IschBaseTaskService ischBaseTaskService;
|
||||
|
||||
@Autowired
|
||||
private IBstIvtBoxinfoService iBstIvtBoxinfoService;
|
||||
|
||||
/**
|
||||
* 不需要查询的排集合
|
||||
*/
|
||||
@@ -77,7 +83,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
String operate = json.getString("operate");
|
||||
if (operate.equals(IOSEnum.IO_TYPE.code("入库"))) {
|
||||
|
||||
attrTab.update(json, "struct_code IN ('"+ String.join("','", param) +"')");
|
||||
attrTab.update(json, "struct_code IN ('" + String.join("','", param) + "')");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -110,10 +116,10 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
*/
|
||||
JSONArray attrArry = attrTab.query("IFNULL(storagevehicle_code,'') = '' " +
|
||||
"AND is_used = '" + IOSEnum.IS_NOTANDYES.code("是") + "' AND is_delete = '" + IOSEnum.IS_NOTANDYES.code("否") + "' " +
|
||||
"AND lock_type = '" + IOSEnum.LOCK_TYPE.code("未锁定") + "' AND stor_id = '"+jsonObject.getString("stor_id")+"' " +
|
||||
"AND lock_type = '" + IOSEnum.LOCK_TYPE.code("未锁定") + "' AND stor_id = '" + jsonObject.getString("stor_id") + "' " +
|
||||
"AND storagevehicle_type = '" + jsonObject.getString("vehicle_type") + "'" +
|
||||
"AND height = '" + jsonObject.getString("height") + "'" +
|
||||
"AND sect_id = '"+jsonObject.getString("sect_id")+"'").getResultJSONArray(0);
|
||||
"AND sect_id = '" + jsonObject.getString("sect_id") + "'").getResultJSONArray(0);
|
||||
|
||||
if (ObjectUtil.isEmpty(attrArry)) {
|
||||
notInRowList.clear();
|
||||
@@ -136,13 +142,13 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
/*
|
||||
* 确定哪排:查看每排相同木箱规格等 的数量,找到数量最小的那排
|
||||
*/
|
||||
jsonSub.put("block_num",block_num);
|
||||
jsonSub.put("block_num", block_num);
|
||||
String row_num = getMinRow(jsonSub);
|
||||
|
||||
/*
|
||||
* 确定伸位,找仓位
|
||||
*/
|
||||
jsonSub.put("row_num",row_num);
|
||||
jsonSub.put("row_num", row_num);
|
||||
JSONObject jsonAttr = queryStruct(jsonSub);
|
||||
|
||||
// 为空则新找巷道
|
||||
@@ -169,7 +175,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
json.put("box_high", jsonSub.getString("box_high"));
|
||||
|
||||
String row_num_2 = getMinRow(json);
|
||||
json.put("row_num",row_num_2);
|
||||
json.put("row_num", row_num_2);
|
||||
JSONObject jsonAttr_2 = queryStruct(json);
|
||||
|
||||
if (ObjectUtil.isNotEmpty(jsonAttr_2)) {
|
||||
@@ -204,10 +210,16 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
throw new BadRequestException("设备号不能为空!");
|
||||
}
|
||||
|
||||
// 查询木箱信息
|
||||
BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne(
|
||||
new QueryWrapper<BstIvtBoxinfo>().lambda()
|
||||
.eq(BstIvtBoxinfo::getBox_no, jsonObject.getString("box_no"))
|
||||
);
|
||||
|
||||
List<String> pcsnList = Arrays.asList(material_barcode.split(","));
|
||||
|
||||
// 查询子卷包装关系
|
||||
List<JSONObject> subList = subTab.query("container_name in ('"+String.join("','", pcsnList)+"') and status = '0'")
|
||||
List<JSONObject> subList = subTab.query("container_name in ('" + String.join("','", pcsnList) + "') and status = '0'")
|
||||
.getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
|
||||
if (ObjectUtil.isEmpty(subList)) {
|
||||
@@ -248,7 +260,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
jsonDtl.put("is_active", IOSEnum.IS_SEND.code("是"));
|
||||
tableData.add(jsonDtl);
|
||||
}
|
||||
mst.put("tableData",tableData);
|
||||
mst.put("tableData", tableData);
|
||||
|
||||
// 调用服务创建
|
||||
String iostorinv_id = iStIvtIostorinvService.insertMst(mst);
|
||||
@@ -262,20 +274,21 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
).get(0);
|
||||
|
||||
List<LinkedHashMap> disList = iStIvtIostorinvdisService.list(
|
||||
new QueryWrapper<StIvtIostorinvdis>().lambda()
|
||||
.eq(StIvtIostorinvdis::getIostorinv_id, iostorinv_id)
|
||||
).stream().map(row -> JSONObject.parseObject(JSON.toJSONString(row), LinkedHashMap.class))
|
||||
new QueryWrapper<StIvtIostorinvdis>().lambda()
|
||||
.eq(StIvtIostorinvdis::getIostorinv_id, iostorinv_id)
|
||||
).stream().map(row -> JSONObject.parseObject(JSON.toJSONString(row), LinkedHashMap.class))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
jsonDiv.put("dtl_row",JSONObject.parseObject(JSON.toJSONString(dtlDao)));
|
||||
jsonDiv.put("dtl_row", JSONObject.parseObject(JSON.toJSONString(dtlDao)));
|
||||
jsonDiv.put("tableMater", disList);
|
||||
jsonDiv.put("checked", true);
|
||||
jsonDiv.put("is_send", IOSEnum.IS_SEND.code("是"));
|
||||
jsonDiv.put("point_code", jsonObject.getString("device_code"));
|
||||
jsonDiv.put("sect_id", IOSEnum.SECT_ID.code("二期主存区"));
|
||||
jsonDiv.put("stor_id", IOSEnum.STOR_ID.code("二期"));
|
||||
jsonDiv.put("material_barcode",jsonObject.getString("material_barcode"));
|
||||
jsonDiv.put("vehicle_code",jsonObject.getString("vehicle_code"));
|
||||
jsonDiv.put("material_barcode", jsonObject.getString("material_barcode"));
|
||||
jsonDiv.put("vehicle_code", jsonObject.getString("vehicle_code"));
|
||||
jsonDiv.put("vehicle_type", boxDao.getVehicle_type());
|
||||
iStIvtIostorinvService.divStruct(jsonDiv);
|
||||
}
|
||||
|
||||
@@ -298,9 +311,9 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
|
||||
// 查找对应单据
|
||||
List<LinkedHashMap> disDaoList = iStIvtIostorinvdisService.list(
|
||||
new QueryWrapper<StIvtIostorinvdis>().lambda()
|
||||
.eq(StIvtIostorinvdis::getTask_id, taskDao.getTask_id())
|
||||
).stream()
|
||||
new QueryWrapper<StIvtIostorinvdis>().lambda()
|
||||
.eq(StIvtIostorinvdis::getTask_id, taskDao.getTask_id())
|
||||
).stream()
|
||||
.map(row -> JSONObject.parseObject(JSON.toJSONString(row), LinkedHashMap.class))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
@@ -319,9 +332,9 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
|
||||
// 重新分配过的明细
|
||||
List<LinkedHashMap> disList = iStIvtIostorinvdisService.list(
|
||||
new QueryWrapper<StIvtIostorinvdis>().lambda()
|
||||
.eq(StIvtIostorinvdis::getIostorinv_id, iostorinv_id)
|
||||
).stream()
|
||||
new QueryWrapper<StIvtIostorinvdis>().lambda()
|
||||
.eq(StIvtIostorinvdis::getIostorinv_id, iostorinv_id)
|
||||
).stream()
|
||||
.map(row -> JSONObject.parseObject(JSON.toJSONString(row), LinkedHashMap.class))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
@@ -331,7 +344,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
).get(0);
|
||||
|
||||
JSONObject jsonDiv = new JSONObject();
|
||||
jsonDiv.put("dtl_row",JSONObject.parseObject(JSON.toJSONString(dtlDao)));
|
||||
jsonDiv.put("dtl_row", JSONObject.parseObject(JSON.toJSONString(dtlDao)));
|
||||
jsonDiv.put("tableMater", disList);
|
||||
jsonDiv.put("checked", true);
|
||||
jsonDiv.put("is_send", IOSEnum.IS_SEND.code("否"));
|
||||
@@ -343,8 +356,8 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
// 3.更新明细任务标识
|
||||
iStIvtIostorinvdisService.update(
|
||||
new UpdateWrapper<StIvtIostorinvdis>().lambda()
|
||||
.eq(StIvtIostorinvdis::getIostorinv_id, iostorinv_id)
|
||||
.set(StIvtIostorinvdis::getTask_id, taskDao.getTask_id())
|
||||
.eq(StIvtIostorinvdis::getIostorinv_id, iostorinv_id)
|
||||
.set(StIvtIostorinvdis::getTask_id, taskDao.getTask_id())
|
||||
);
|
||||
|
||||
// 4.更新任务终点
|
||||
@@ -361,12 +374,13 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
|
||||
/**
|
||||
* 获取最小巷道
|
||||
*
|
||||
* @param jsonSub {
|
||||
* jsonSub:木箱信息
|
||||
* sect_id:库区
|
||||
* stor_id:仓库
|
||||
* material_id:物料
|
||||
* }
|
||||
* }
|
||||
* @return String : 巷道
|
||||
*/
|
||||
private String getMinBlock(JSONObject jsonSub) {
|
||||
@@ -384,7 +398,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
.collect(Collectors.joining("','"));
|
||||
|
||||
jsonSub.put("flag", "2");
|
||||
jsonSub.put("block_in", "('"+block_in+"')");
|
||||
jsonSub.put("block_in", "('" + block_in + "')");
|
||||
|
||||
List<JSONObject> boxAllList = WQL.getWO("BST_INRULE").addParamMap(jsonSub)
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
@@ -410,7 +424,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
}
|
||||
|
||||
// 区分木箱规格:最小木箱的巷道
|
||||
JSONObject jsonBlockLikeMin = sumBlockMinNum(blockList,boxAllLikeList);
|
||||
JSONObject jsonBlockLikeMin = sumBlockMinNum(blockList, boxAllLikeList);
|
||||
|
||||
/*
|
||||
* 比较两个巷道的总木箱数,取最小的
|
||||
@@ -426,7 +440,8 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
|
||||
/**
|
||||
* 计算最小巷道木箱数
|
||||
* @param blockList : 所有巷道
|
||||
*
|
||||
* @param blockList : 所有巷道
|
||||
* @param boxAllList: 所有木箱
|
||||
* @return JSONObject:最小木箱数的巷道 JSONObject{block_num,box_num}
|
||||
*/
|
||||
@@ -456,6 +471,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
|
||||
/**
|
||||
* 获取最小排
|
||||
*
|
||||
* @param jsonSub {
|
||||
* jsonSub:木箱信息
|
||||
* sect_id:库区
|
||||
@@ -463,7 +479,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
* material_id:物料
|
||||
* block_num: 巷道
|
||||
* not_row_in: 排(用于递归查询)
|
||||
* }
|
||||
* }
|
||||
* @return String : 排
|
||||
*/
|
||||
private String getMinRow(JSONObject jsonSub) {
|
||||
@@ -482,7 +498,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
.collect(Collectors.joining("','"));
|
||||
|
||||
jsonSub.put("flag", "2");
|
||||
jsonSub.put("row_in", "('"+row_in+"')");
|
||||
jsonSub.put("row_in", "('" + row_in + "')");
|
||||
|
||||
List<JSONObject> boxAllList = WQL.getWO("BST_INRULE").addParamMap(jsonSub)
|
||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||
@@ -527,7 +543,8 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
|
||||
/**
|
||||
* 计算最小木箱的排
|
||||
* @param rowList : 所有排
|
||||
*
|
||||
* @param rowList : 所有排
|
||||
* @param boxAllList: 所有木箱
|
||||
* @return JSONObject:最小木箱数的排 JSONObject{row_num,box_num}
|
||||
*/
|
||||
@@ -557,6 +574,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
|
||||
/**
|
||||
* 获取仓位
|
||||
*
|
||||
* @param jsonSub {
|
||||
* jsonSub:木箱信息
|
||||
* sect_id:库区
|
||||
@@ -564,7 +582,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
* material_id:物料
|
||||
* block_num: 巷道
|
||||
* row_num :排
|
||||
* }
|
||||
* }
|
||||
* @return JSONObject : 仓位
|
||||
*/
|
||||
private JSONObject queryStruct(JSONObject jsonSub) {
|
||||
@@ -580,7 +598,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
|
||||
// 新的一排
|
||||
String row_num_new = this.getMinRow(jsonSub);
|
||||
jsonSub.put("row_num",row_num_new);
|
||||
jsonSub.put("row_num", row_num_new);
|
||||
|
||||
jsonAttr = this.getStruct(jsonSub);
|
||||
}
|
||||
@@ -590,6 +608,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
|
||||
/**
|
||||
* 获取一个货位公共方法
|
||||
*
|
||||
* @param jsonSub {
|
||||
* jsonSub:木箱信息
|
||||
* sect_id:库区
|
||||
@@ -597,7 +616,7 @@ public class InBussManageServiceImpl implements InBussManageService {
|
||||
* material_id:物料
|
||||
* block_num: 巷道
|
||||
* row_num :排
|
||||
* }
|
||||
* }
|
||||
* @return JSONObject : 仓位
|
||||
*/
|
||||
private JSONObject getStruct(JSONObject jsonSub) {
|
||||
|
||||
@@ -209,15 +209,15 @@ public class LashManageServiceImpl implements LashManageService {
|
||||
result.put("width", boxDao.getBox_width());
|
||||
result.put("height", boxDao.getBox_high());
|
||||
result.put("case", boxDao.getMaterial_code());
|
||||
result.put("isBinding", IOSEnum.IS_SEND.code("否"));
|
||||
result.put("isBinding", IOSEnum.IS_SEND.code("是"));
|
||||
result.put("isLabeling", IOSEnum.IS_SEND.code("否"));
|
||||
|
||||
result.put("labelingTemplate", boxDao.getLash_num());
|
||||
result.put("bindingTemplate", "1");
|
||||
result.put("bindingTemplate", boxDao.getLash_num());
|
||||
result.put("printDevice", "1");
|
||||
|
||||
result.put("printQty", "1");
|
||||
result.put("bundleTimes", "2");
|
||||
result.put("bundleTimes", "1");
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -70,14 +70,8 @@ public class SendOutManageServiceImpl implements SendOutManageService {
|
||||
.eq(SchBasePoint::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"))
|
||||
);
|
||||
|
||||
// 根据载具号找到对应的木箱号
|
||||
JSONObject jsonExt = extTab.query("storagevehicle_code = '" + whereJson.getString("vehicle_code") + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(jsonExt)) {
|
||||
throw new BadRequestException("此载具上没有木箱,请检查!"+whereJson.getString("vehicle_code"));
|
||||
}
|
||||
|
||||
// 1.查询此木箱号的子卷包装关系
|
||||
JSONObject jsonSub = subTab.query("package_box_sn = '" + jsonExt.getString("pcsn") + "'").uniqueResult(0);
|
||||
JSONObject jsonSub = subTab.query("package_box_sn = '" + whereJson.getString("vehicle_code") + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(jsonSub)) {
|
||||
throw new BadRequestException("未查询到该木箱对应的包装关系!");
|
||||
}
|
||||
@@ -215,6 +209,6 @@ public class SendOutManageServiceImpl implements SendOutManageService {
|
||||
);
|
||||
|
||||
// 删除载具对应木箱记录
|
||||
extTab.delete(jsonExt);
|
||||
//extTab.delete(jsonExt);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,8 +48,8 @@ public class StoragevehicleinfoController {
|
||||
@Log("修改载具")
|
||||
|
||||
//@PreAuthorize("@el.check('mdPbStoragevehicleinfo:edit')")
|
||||
public ResponseEntity<Object> update(@Validated @RequestBody StoragevehicleinfoDto dto) {
|
||||
storagevehicleinfoService.update(dto);
|
||||
public ResponseEntity<Object> update(@RequestBody JSONObject map) {
|
||||
storagevehicleinfoService.update(map);
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ public interface StoragevehicleinfoService {
|
||||
*
|
||||
* @param dto /
|
||||
*/
|
||||
void update(StoragevehicleinfoDto dto);
|
||||
void update(JSONObject dto);
|
||||
|
||||
/**
|
||||
* 多选删除
|
||||
|
||||
@@ -160,24 +160,47 @@ public class StoragevehicleinfoServiceImpl implements StoragevehicleinfoService
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void update(StoragevehicleinfoDto dto) {
|
||||
public void update(JSONObject dto) {
|
||||
WQLObject wo = WQLObject.getWQLObject("md_pb_storagevehicleinfo");
|
||||
JSONObject jsonObject = wo.query("storagevehicle_code = '" + dto.getStoragevehicle_code() + "' and is_delete = '0'").uniqueResult(0);
|
||||
WQLObject veExtTab = WQLObject.getWQLObject("md_pb_storagevehicleext");
|
||||
JSONObject jsonObject = wo.query("storagevehicle_code = '" + dto.getString("storagevehicle_code") + "' and is_delete = '0' AND storagevehicle_id != '" + dto.getString("storagevehicle_id") + "'").uniqueResult(0);
|
||||
if (!ObjectUtil.isEmpty(jsonObject)) {
|
||||
throw new BadRequestException("此载具已存在");
|
||||
}
|
||||
StoragevehicleinfoDto entity = this.findById(dto.getStoragevehicle_id());
|
||||
if (entity == null) {
|
||||
throw new BadRequestException("被删除或无权限,操作失败!");
|
||||
}
|
||||
|
||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getCurrentNickName();
|
||||
|
||||
String now = DateUtil.now();
|
||||
dto.setUpdate_time(now);
|
||||
dto.setUpdate_optid(currentUserId);
|
||||
dto.setUpdate_optname(nickName);
|
||||
String qty = dto.getString("qty");
|
||||
String pcsn = dto.getString("pcsn");
|
||||
if (StrUtil.isNotEmpty(qty) || StrUtil.isNotEmpty(pcsn)) {
|
||||
JSONObject ext_jo = veExtTab.query("storagevehicle_code = '"+dto.getString("storagevehicle_code")+"'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(ext_jo)) {
|
||||
//新增一条记录
|
||||
JSONObject jsonVeExt = new JSONObject();
|
||||
jsonVeExt.put("storagevehicleext_id", org.nl.common.utils.IdUtil.getLongId());
|
||||
jsonVeExt.put("storagevehicle_id", dto.getLongValue("storagevehicle_id"));
|
||||
jsonVeExt.put("storagevehicle_code", dto.getString("storagevehicle_code"));
|
||||
jsonVeExt.put("storagevehicle_type", dto.getString("storagevehicle_type"));
|
||||
if (StrUtil.isNotEmpty(pcsn)) {
|
||||
jsonVeExt.put("pcsn", pcsn);
|
||||
}
|
||||
if (StrUtil.isNotEmpty(qty)) {
|
||||
jsonVeExt.put("qty", qty);
|
||||
}
|
||||
jsonVeExt.put("device_uuid", org.nl.common.utils.IdUtil.getLongId());
|
||||
jsonVeExt.put("update_time", DateUtil.now());
|
||||
veExtTab.insert(jsonVeExt);
|
||||
} else {
|
||||
if (StrUtil.isNotEmpty(pcsn)) {
|
||||
ext_jo.put("pcsn", pcsn);
|
||||
}
|
||||
if (StrUtil.isNotEmpty(qty)) {
|
||||
ext_jo.put("qty", qty);
|
||||
}
|
||||
veExtTab.update(ext_jo);
|
||||
}
|
||||
}
|
||||
|
||||
JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
|
||||
wo.update(json);
|
||||
|
||||
@@ -45,6 +45,9 @@
|
||||
PAGEQUERY
|
||||
SELECT
|
||||
s.*,
|
||||
ext.pcsn,
|
||||
ext.qty,
|
||||
ext.update_time AS change_time,
|
||||
mater.material_code,
|
||||
mater.material_name,
|
||||
point.point_code,
|
||||
@@ -56,6 +59,7 @@
|
||||
LEFT JOIN ST_IVT_StructIvt ivt ON point.source_id = ivt.struct_id
|
||||
LEFT JOIN md_me_materialbase mater ON mater.material_id = ivt.material_id
|
||||
LEFT JOIN md_pb_classstandard class ON class.class_code = s.storagevehicle_type
|
||||
LEFT JOIN md_pb_storagevehicleext ext ON ext.storagevehicle_code = s.storagevehicle_code
|
||||
WHERE
|
||||
s.is_delete = '0'
|
||||
ENDOPTION
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user