库存修改
This commit is contained in:
@@ -45,12 +45,16 @@ class MaterialLabelServiceImpl implements MaterialLabelService {
|
||||
@Override
|
||||
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
|
||||
//物料模糊查询
|
||||
String bullery = MapUtil.getStr(whereJson, "bullery");
|
||||
String material_name = MapUtil.getStr(whereJson, "material_name");
|
||||
String formula = MapUtil.getStr(whereJson, "formula");
|
||||
String pcsn = MapUtil.getStr(whereJson, "pcsn");
|
||||
HashMap<String, String> map = new HashMap<>();
|
||||
map.put("bullery", bullery);
|
||||
map.put("flag", "1");
|
||||
map.put("material_name", material_name);
|
||||
map.put("formula", formula);
|
||||
map.put("pcsn", pcsn);
|
||||
|
||||
JSONObject json = WQL.getWO("QMD_materialLab_01").addParam("flag", "1").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "update_time desc");
|
||||
JSONObject json = WQL.getWO("QMD_materialLab_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "update_time desc");
|
||||
|
||||
//处理标签码
|
||||
JSONArray arr = json.optJSONArray("content");
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
[交易说明]
|
||||
交易名: 配方分页查询
|
||||
所属模块:
|
||||
功能简述:
|
||||
版权所有:
|
||||
表引用:
|
||||
版本经历:
|
||||
所属模块:
|
||||
功能简述:
|
||||
版权所有:
|
||||
表引用:
|
||||
版本经历:
|
||||
|
||||
[数据库]
|
||||
--指定数据库,为空采用默认值,默认为db.properties中列出的第一个库
|
||||
@@ -14,47 +14,49 @@
|
||||
## 表字段对应输入参数
|
||||
#################################################
|
||||
输入.flag TYPEAS s_string
|
||||
输入.label_code TYPEAS s_string
|
||||
输入.material_name TYPEAS s_string
|
||||
输入.pcsn TYPEAS s_string
|
||||
输入.formula TYPEAS s_string
|
||||
输入.bullery TYPEAS s_string
|
||||
输入.formula TYPEAS s_string
|
||||
|
||||
|
||||
[临时表]
|
||||
--这边列出来的临时表就会在运行期动态创建
|
||||
|
||||
|
||||
[临时变量]
|
||||
--所有中间过程变量均可在此处定义
|
||||
|
||||
|
||||
[业务过程]
|
||||
|
||||
##########################################
|
||||
# 1、输入输出检查 #
|
||||
##########################################
|
||||
|
||||
|
||||
|
||||
##########################################
|
||||
# 2、主过程前处理 #
|
||||
##########################################
|
||||
|
||||
|
||||
|
||||
|
||||
##########################################
|
||||
# 3、业务主过程 #
|
||||
##########################################
|
||||
|
||||
|
||||
IF 输入.flag = "1"
|
||||
PAGEQUERY
|
||||
SELECT
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
md_base_materialLabelMst m
|
||||
WHERE
|
||||
m.is_delete = '0'
|
||||
OPTION 输入.bullery <> ""
|
||||
(m.material_name like "%" 输入.bullery "%" or m.material_code like "%" 输入.bullery "%" or m.material_spec like "%" 输入.bullery)
|
||||
OPTION 输入.material_name <> ""
|
||||
m.material_name like "%" 输入.material_name "%"
|
||||
ENDOPTION
|
||||
OPTION 输入.bullery <> ""
|
||||
(m.formula like "%" 输入.bullery "%" or m.pcsn like "%" 输入.bullery "%")
|
||||
OPTION 输入.formula <> ""
|
||||
m.formula like "%" 输入.formula "%"
|
||||
ENDOPTION
|
||||
OPTION 输入.pcsn <> ""
|
||||
m.pcsn like "%" 输入.pcsn "%"
|
||||
ENDOPTION
|
||||
ENDSELECT
|
||||
ENDPAGEQUERY
|
||||
|
||||
@@ -91,4 +91,12 @@ public class PointDto implements Serializable {
|
||||
* 所属区域
|
||||
*/
|
||||
private String area_type;
|
||||
|
||||
/**
|
||||
* 物料标签id
|
||||
*/
|
||||
private String label_uuid;
|
||||
private String material_uuid;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.nl.wms.sch.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -112,9 +113,71 @@ public class PointServiceImpl implements PointService {
|
||||
dto.setUpdate_time(now);
|
||||
dto.setUpdate_by(currentUsername);
|
||||
|
||||
WQLObject wo = WQLObject.getWQLObject("sch_base_point");
|
||||
// 获取数据
|
||||
String label_uuid = dto.getLabel_uuid();
|
||||
String point_type1 = dto.getPoint_type1(); // 点位类型
|
||||
String struct_code = dto.getPoint_code(); // 点位编码就是仓位编码
|
||||
String point_status = dto.getPoint_status();
|
||||
String vehicle_code = dto.getVehicle_code();
|
||||
String material_uuid = dto.getMaterial_uuid();
|
||||
|
||||
WQLObject structIvtTab = WQLObject.getWQLObject("ST_IVT_StructIvt");
|
||||
WQLObject materialLabelTab = WQLObject.getWQLObject("md_base_materialLabelMst");
|
||||
WQLObject pointTab = WQLObject.getWQLObject("SCH_BASE_Point");
|
||||
WQLObject structTab = WQLObject.getWQLObject("st_base_struct");
|
||||
|
||||
JSONObject structIvtObj = null;
|
||||
JSONObject structObj = null;
|
||||
JSONObject materialLabelObj = null;
|
||||
|
||||
if (ObjectUtil.isNotEmpty(struct_code)) {
|
||||
structObj = structTab.query("struct_code = '" + struct_code + "'").uniqueResult(0);
|
||||
}
|
||||
|
||||
// 通过载具号获取仓位库存信息
|
||||
if (ObjectUtil.isNotEmpty(structObj)) {
|
||||
structIvtObj = structIvtTab.query("struct_uuid = '" + structObj.getString("struct_uuid") + "'").uniqueResult(0);
|
||||
}
|
||||
|
||||
if (ObjectUtil.isNotEmpty(label_uuid)) {
|
||||
materialLabelObj = materialLabelTab.query("label_uuid = '" + label_uuid + "'").uniqueResult(0);
|
||||
}
|
||||
|
||||
if (point_type1.equals("01")) { // 仓位的时候需要对仓位库存进行操作
|
||||
if (point_status.equals("00")) { // 空位
|
||||
// 删除仓位库存
|
||||
if (ObjectUtil.isNotEmpty(structIvtObj)) structIvtTab.delete(structIvtObj);
|
||||
vehicle_code = null;
|
||||
} else if (point_status.equals("01")) { // 空载具
|
||||
if (ObjectUtil.isNotEmpty(structIvtObj)) structIvtTab.delete(structIvtObj);
|
||||
} else { // 有箱有料
|
||||
if (ObjectUtil.isEmpty(materialLabelObj)) throw new BadRequestException("物料不能为空");
|
||||
if (ObjectUtil.isEmpty(vehicle_code)) throw new BadRequestException("载具编码不能为空");
|
||||
if (ObjectUtil.isEmpty(structIvtObj)) { // 仓位库存为空就插入
|
||||
JSONObject structIvt = new JSONObject();
|
||||
structIvt.put("stockrecord_uuid", IdUtil.simpleUUID());
|
||||
structIvt.put("struct_uuid", structObj.getString("struct_uuid"));
|
||||
structIvt.put("stand_hour", materialLabelObj.getString("stand_hour"));
|
||||
structIvt.put("label_uuid", label_uuid);
|
||||
structIvt.put("material_uuid", material_uuid);
|
||||
structIvt.put("vehicle_code", vehicle_code);
|
||||
structIvt.put("instorage_time", DateUtil.now());
|
||||
structIvtTab.insert(structIvt);
|
||||
} else { // 修改
|
||||
structIvtObj.put("struct_uuid", structObj.getString("struct_uuid"));
|
||||
structIvtObj.put("label_uuid", label_uuid);
|
||||
structIvtObj.put("stand_hour", materialLabelObj.getString("stand_hour"));
|
||||
structIvtObj.put("material_uuid", material_uuid);
|
||||
structIvtObj.put("vehicle_code", vehicle_code);
|
||||
structIvtObj.put("instorage_time", DateUtil.now());
|
||||
structIvtTab.update(structIvtObj);
|
||||
}
|
||||
}
|
||||
}
|
||||
// 点位修改
|
||||
dto.setVehicle_code(vehicle_code);
|
||||
JSONObject json = JSONObject.fromObject(dto);
|
||||
wo.update(json);
|
||||
pointTab.update(json);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
[交易说明]
|
||||
交易名: 库区分页查询
|
||||
所属模块:
|
||||
功能简述:
|
||||
版权所有:
|
||||
表引用:
|
||||
版本经历:
|
||||
所属模块:
|
||||
功能简述:
|
||||
版权所有:
|
||||
表引用:
|
||||
版本经历:
|
||||
|
||||
[数据库]
|
||||
--指定数据库,为空采用默认值,默认为db.properties中列出的第一个库
|
||||
@@ -24,26 +24,26 @@
|
||||
|
||||
[临时表]
|
||||
--这边列出来的临时表就会在运行期动态创建
|
||||
|
||||
|
||||
[临时变量]
|
||||
--所有中间过程变量均可在此处定义
|
||||
|
||||
|
||||
[业务过程]
|
||||
|
||||
##########################################
|
||||
# 1、输入输出检查 #
|
||||
##########################################
|
||||
|
||||
|
||||
|
||||
##########################################
|
||||
# 2、主过程前处理 #
|
||||
##########################################
|
||||
|
||||
|
||||
|
||||
|
||||
##########################################
|
||||
# 3、业务主过程 #
|
||||
##########################################
|
||||
|
||||
|
||||
IF 输入.flag = "1"
|
||||
PAGEQUERY
|
||||
SELECT
|
||||
@@ -66,13 +66,16 @@
|
||||
point.create_by,
|
||||
point.create_time,
|
||||
point.update_by,
|
||||
point.update_time
|
||||
point.update_time,
|
||||
material.material_name
|
||||
FROM
|
||||
sch_base_point point
|
||||
LEFT JOIN sys_dict_detail d1 ON point.point_type1 = d1.value and d1.name='point_type1'
|
||||
LEFT JOIN sys_dict_detail d2 ON point.area_type = d2.value and d2.name='sch_area_type'
|
||||
LEFT JOIN sys_dict_detail d3 ON point.lock_type = d3.value and d3.name='lock_type'
|
||||
LEFT JOIN sys_dict_detail d4 ON point.point_status = d4.value and d4.name='sch_point_status'
|
||||
LEFT JOIN st_ivt_structivt structivt ON structivt.vehicle_code = point.vehicle_code
|
||||
LEFT JOIN md_base_material material ON material.material_uuid = structivt.material_uuid
|
||||
WHERE
|
||||
point.is_delete = '0'
|
||||
OPTION 输入.area_type <> ""
|
||||
@@ -98,4 +101,4 @@
|
||||
ENDIF
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user