This commit is contained in:
2023-01-12 09:50:29 +08:00
parent 78d8f9df42
commit 4c375145e3
14 changed files with 291 additions and 90 deletions

View File

@@ -4,6 +4,7 @@ package org.nl.wms.ext.acs.rest;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
@@ -95,5 +96,12 @@ public class WmsToAcsController {
return new ResponseEntity<>(wmsToAcsService.updateTask(arr), HttpStatus.OK);
}
@PostMapping("/putPlusPullAction")
@Log("给ACS下发修改PLC的值")
@ApiOperation("给ACS下发修改PLC的值")
public ResponseEntity<Object> putPlusPullAction(@RequestBody JSONObject jo) {
return new ResponseEntity<>(wmsToAcsService.putPlusPullAction(jo), HttpStatus.OK);
}
}

View File

@@ -69,4 +69,13 @@ public interface WmsToAcsService {
* @return JSONObject
*/
JSONObject action(JSONArray arr);
/**
* 下发拔轴机构任务
* @param jo /
* @return JSONObject
*/
JSONObject putPlusPullAction(JSONObject jo);
}

View File

@@ -59,6 +59,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
*/
@Override
public Map<String, Object> receiveTaskStatusAcs(String string) {
log.info("receiveTaskStatusAcs请求参数--------------------------------------"+string);
JSONArray array = JSONArray.parseArray(string);
//返回处理失败的任务
JSONArray errArr = new JSONArray();
@@ -179,9 +180,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
}
@Override
@LokiLog(type = LokiLogType.ACS_TO_LMS)
@Transactional(rollbackFor = Exception.class)
public JSONObject apply(JSONObject whereJson) {
log.info("apply请求参数---------------------------------------------"+whereJson.toString());
String type = whereJson.getString("type");
String device_code = whereJson.getString("device_code");
String vehicle_code = whereJson.getString("vehicle_code");
@@ -409,6 +410,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
@Override
public JSONObject deviceApply(JSONObject whereJson) {
log.info("deviceApply请求参数---------------------------------------------"+whereJson.toString());
String vehicle_code = whereJson.getString("vehicle_code");
String type = whereJson.getString("type");
if (StrUtil.isEmpty(type)) {
@@ -482,6 +484,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
@Override
public JSONObject process(JSONObject whereJson) {
log.info("process请求参数---------------------------------------------"+whereJson.toString());
String vehicle_code = whereJson.getString("vehicle_code");
String ext_task_id = whereJson.getString("ext_task_id");
String srcLocation = whereJson.getString("srcLocation");

View File

@@ -1,11 +1,17 @@
package org.nl.wms.ext.acs.service.impl;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.wql.util.SpringContextHolder;
import org.nl.system.service.param.impl.SysParamServiceImpl;
import org.nl.wms.ext.acs.service.WmsToAcsService;
import org.nl.wms.sch.AcsUtil;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import java.util.Map;
@@ -66,4 +72,43 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
return AcsUtil.notifyAcs(api, whereJson);
}
@Override
public JSONObject putPlusPullAction(JSONObject whereJson) {
String api = "api/wms/putPlusPullAction";
//判断是否连接ACS系统
String isConnect = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_connect_acs").getValue();
JSONObject result = new JSONObject();
if (StrUtil.equals("0", isConnect)) {
result.put("status", HttpStatus.OK.value());
result.put("message", "下发成功但未连接ACS!");
result.put("data", new JSONObject());
return result;
}
//ACS地址127.0.0.1:8010
String acsUrl = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("acs_url").getValue();
String url = acsUrl + api;
try {
String resultMsg = HttpRequest.post(url)
.body(String.valueOf(whereJson))
.execute().body();
result = JSONObject.parseObject(resultMsg);
} catch (Exception e) {
String msg = e.getMessage();
//ConnectException: Connection refused: connect
//网络不通
System.out.println(msg);
result.put("status", HttpStatus.BAD_REQUEST);
result.put("message", "网络不通,操作失败!");
result.put("data", new JSONObject());
}
//acs抛异常这里
if (!StrUtil.equals(result.getString("status"), "200")) {
throw new BadRequestException("下发失败:"+result.getString("message"));
}
return result;
}
}

View File

@@ -160,25 +160,22 @@ public class CasingServiceImpl implements CasingService {
throw new BadRequestException("气涨轴未启用!");
}
String storagevehicle_type = qzz_jo.getString("storagevehicle_type");
String to_command = "";
String to_size = "";
if (storagevehicle_type.equals("000101")){
to_command = "1";
to_size = "3";
}
if (storagevehicle_type.equals("000102")){
to_command = "2";
to_size = "6";
}
if (StrUtil.isEmpty(to_command)){
if (StrUtil.isEmpty(to_size)){
throw new BadRequestException("未查询到该气涨轴对应的类型!");
}
JSONArray rows = new JSONArray();
JSONObject jo = new JSONObject();
jo.put("device_code",whereJson.getString("point_code"));
jo.put("code","to_command");
jo.put("value",to_command);
rows.add(jo);
new WmsToAcsServiceImpl().action(rows);
JSONObject device_jo = new JSONObject();
device_jo.put("device_code",whereJson.getString("point_code"));
device_jo.put("type","1");
device_jo.put("size",to_size);
new WmsToAcsServiceImpl().putPlusPullAction(device_jo);
//下发ACS拔轴机构
JSONObject result = new JSONObject();
@@ -205,24 +202,22 @@ public class CasingServiceImpl implements CasingService {
throw new BadRequestException("气涨轴未启用!");
}
String storagevehicle_type = qzz_jo.getString("storagevehicle_type");
String to_command = "";
String to_size = "";
if (storagevehicle_type.equals("000101")){
to_command = "1";
to_size = "3";
}
if (storagevehicle_type.equals("000102")){
to_command = "2";
to_size = "6";
}
if (StrUtil.isEmpty(to_command)){
if (StrUtil.isEmpty(to_size)){
throw new BadRequestException("未查询到该气涨轴对应的类型!");
}
JSONArray rows = new JSONArray();
JSONObject jo = new JSONObject();
jo.put("device_code",whereJson.getString("point_code"));
jo.put("code","to_command");
jo.put("value",to_command);
rows.add(jo);
new WmsToAcsServiceImpl().action(rows);
JSONObject device_jo = new JSONObject();
device_jo.put("device_code",whereJson.getString("point_code"));
device_jo.put("type","0");
device_jo.put("size",to_size);
new WmsToAcsServiceImpl().putPlusPullAction(device_jo);
//下发ACS拔轴机构

View File

@@ -38,7 +38,7 @@ public class PointStatusServiceImpl implements PointStatusService {
}
//查询该编码是否属于母卷
JSONObject raw_jo = WQLObject.getWQLObject("pdm_bi_rawfoilworkorder").query("container_name = '"+container_name+"' AND is_delete = '0'").uniqueResult(0);
JSONObject raw_jo = WQLObject.getWQLObject("pdm_bi_rawfoilworkorder").query("container_name = '" + container_name + "' AND is_delete = '0'").uniqueResult(0);
//查询该点对应的是什么位置
JSONObject cut_point = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("full_point_code = '" + point_code + "'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(cut_point)) {
@@ -46,7 +46,7 @@ public class PointStatusServiceImpl implements PointStatusService {
if (StrUtil.isNotEmpty(now_container_name)) {
throw new BadRequestException("该点位上已存在母卷,不能进行绑定!");
}
if (ObjectUtil.isEmpty(raw_jo)){
if (ObjectUtil.isEmpty(raw_jo)) {
throw new BadRequestException("请输入正确的母卷号!");
}
cut_point.put("container_name", container_name);
@@ -58,32 +58,50 @@ public class PointStatusServiceImpl implements PointStatusService {
if (StrUtil.isNotEmpty(empty_vehicle_code)) {
throw new BadRequestException("该点位上已存在空轴,不能进行绑定!");
}
if (ObjectUtil.isNotEmpty(raw_jo)){
if (ObjectUtil.isNotEmpty(raw_jo)) {
throw new BadRequestException("请输入正确的空轴号!");
}
cut_point.put("empty_vehicle_code", container_name);
cut_point.put("empty_point_status", "02");
} else {
throw new BadRequestException("未查询到对应的分切点!");
//查询烘箱对接位的点位状态
JSONObject point_jo = WQLObject.getWQLObject("sch_base_point").query("point_code = '" + point_code + "'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(point_jo)) {
String material_code = point_jo.getString("material_code");
if (StrUtil.isNotEmpty(material_code)) {
throw new BadRequestException("该点位上已存在空轴,不能进行绑定!");
}
if (ObjectUtil.isEmpty(raw_jo)) {
throw new BadRequestException("请输入正确的母卷号!");
}
point_jo.put("material_code", container_name);
point_jo.put("point_status", "2");
WQLObject.getWQLObject("sch_base_point").update(point_jo);
} else {
throw new BadRequestException("未查询到对应的分切机点位或烘箱对接位!!");
}
}
}
WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(cut_point);
if (ObjectUtil.isNotEmpty(cut_point)) {
WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(cut_point);
}
JSONObject cut_jo = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("parent_container_name = '"+container_name+"' AND IFNULL(is_parent_ok,'0') = '0'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(cut_jo)){
JSONObject cut_jo = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("parent_container_name = '" + container_name + "' AND IFNULL(is_parent_ok,'0') = '0'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(cut_jo)) {
//更新该母卷对应分切计划的状态
HashMap<String,String> map = new HashMap<>();
map.put("is_parent_ok","1");
WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(map,"parent_container_name = '"+container_name+"'");
HashMap<String, String> map = new HashMap<>();
map.put("is_parent_ok", "1");
WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(map, "parent_container_name = '" + container_name + "'");
//回传MES
JSONObject mom_jo = new JSONObject();
mom_jo.put("contain_name",container_name);
mom_jo.put("warehouse","1");
mom_jo.put("contain_name", container_name);
mom_jo.put("warehouse", "1");
//判断该接口是否需要回传
JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'momRollSemiFGInboundComplete'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(back_jo) && back_jo.getString("is_back").equals("1")){
if (ObjectUtil.isNotEmpty(back_jo) && back_jo.getString("is_back").equals("1")) {
lmsToMesService.cutPlanMomRollDeliveryComplete(mom_jo);
}
}
@@ -101,10 +119,21 @@ public class PointStatusServiceImpl implements PointStatusService {
cut_point.put("empty_vehicle_code", "");
cut_point.put("empty_point_status", "01");
} else {
throw new BadRequestException("未查询到对应的分切点!");
//查询烘箱对接位的点位状态
JSONObject point_jo = WQLObject.getWQLObject("sch_base_point").query("point_code = '" + point_code + "'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(point_jo)) {
point_jo.put("material_code", "");
point_jo.put("point_status", "1");
WQLObject.getWQLObject("sch_base_point").update(point_jo);
} else {
throw new BadRequestException("未查询到对应的分切机点位或烘箱对接位!");
}
}
}
WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(cut_point);
if (ObjectUtil.isNotEmpty(cut_point)) {
WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(cut_point);
}
}
JSONObject jo = new JSONObject();
@@ -125,14 +154,14 @@ public class PointStatusServiceImpl implements PointStatusService {
cut_point = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("empty_point_code = '" + point_code + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(cut_point)) {
//查询烘箱对接位的点位状态
JSONObject point_jo = WQLObject.getWQLObject("sch_base_point").query("point_code = '"+point_code+"'").uniqueResult(0);
if (ObjectUtil.isEmpty(point_jo)){
JSONObject point_jo = WQLObject.getWQLObject("sch_base_point").query("point_code = '" + point_code + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(point_jo)) {
throw new BadRequestException("未查询到对应的分切机点位或烘箱对接位!!");
}
vehicle_code = point_jo.getString("material_code");
if (StrUtil.isNotEmpty(vehicle_code)){
if (StrUtil.isNotEmpty(vehicle_code)) {
have_goods = "02";
}else {
} else {
have_goods = "01";
}
} else {
@@ -145,9 +174,9 @@ public class PointStatusServiceImpl implements PointStatusService {
}
JSONObject jo = new JSONObject();
jo.put("container_name", vehicle_code);
if (have_goods.equals("01")){
if (have_goods.equals("01")) {
have_goods = "";
}else {
} else {
have_goods = "";
}
jo.put("have_goods", have_goods);

View File

@@ -5,17 +5,24 @@ import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.modules.wql.util.SpringContextHolder;
import org.nl.system.service.param.impl.SysParamServiceImpl;
import org.nl.wms.sch.manage.TaskStatusEnum;
import org.springframework.http.HttpStatus;
import java.util.HashMap;
/**
* ACS连接工具类:
*/
@Slf4j
public class AcsUtil {
public static JSONObject notifyAcs(String api, JSONArray list) {
log.info("下发ACS参数----------------------------------------+"+api+",---"+list.toString());
//判断是否连接ACS系统
String isConnect = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_connect_acs").getValue();
JSONObject result = new JSONObject();
@@ -35,6 +42,7 @@ public class AcsUtil {
.body(String.valueOf(list))
.execute().body();
result = JSONObject.parseObject(resultMsg);
log.info("ACS相应参数----------------------------------------+"+api+",---"+result.toString());
} catch (Exception e) {
String msg = e.getMessage();
@@ -48,6 +56,16 @@ public class AcsUtil {
//acs抛异常这里
if (!StrUtil.equals(result.getString("status"), "200")) {
throw new BadRequestException("下发失败:"+result.getString("message"));
}else {
//如果向ACS下发任务变更任务状态为下发
if (api.equals("api/wms/task")){
for (int i = 0; i < list.size(); i++) {
JSONObject task_jo = list.getJSONObject(i);
HashMap<String,String> map = new HashMap<>();
map.put("task_status", TaskStatusEnum.ISSUE.getCode());
WQLObject.getWQLObject("SCH_BASE_Task").update(map,"task_id = '"+task_jo.getString("ext_task_id")+"'");
}
}
}
return result;
}

View File

@@ -230,11 +230,13 @@ public class CutConveyorTask extends AbstractAcsTask {
String point_code2 = form.getString("point_code2");
JSONObject point1_jo = WQLObject.getWQLObject("sch_base_point").query("point_code = '" + point_code1 + "'").uniqueResult(0);
JSONObject point2_jo = WQLObject.getWQLObject("sch_base_point").query("point_code = '" + point_code2 + "'").uniqueResult(0);
if (isSingleTask(point_code1) && !point1_jo.getString("point_type").equals("6") && !point1_jo.getString("point_type").equals("7")) {
throw new BadRequestException("点位:" + point_code1 + "存在未完成的任务!");
}
if (isSingleTask(point_code2) && !point2_jo.getString("point_type").equals("6") && !point2_jo.getString("point_type").equals("7")) {
throw new BadRequestException("点位:" + point_code2 + "存在未完成的任务!");
if (!form.getString("task_type").equals("010507")){
if (isSingleTask(point_code1) && !point1_jo.getString("point_type").equals("6") && !point1_jo.getString("point_type").equals("7")) {
throw new BadRequestException("点位:" + point_code1 + "存在未完成的任务!");
}
if (isSingleTask(point_code2) && !point2_jo.getString("point_type").equals("6") && !point2_jo.getString("point_type").equals("7")) {
throw new BadRequestException("点位:" + point_code2 + "存在未完成的任务!");
}
}
JSONObject json = new JSONObject();
json.put("task_id", IdUtil.getSnowflake(1, 1).nextId());

View File

@@ -97,8 +97,14 @@ public class HandMoveStorAcsTask extends AbstractAcsTask {
}else if("2".equals(status)){
HandMoveStorServiceImpl handMoveStorServiceImpl = SpringContextHolder.getBean(HandMoveStorServiceImpl.class);
handMoveStorServiceImpl.finishTask(task);
}else if("3".equals(status)){
}else if("0".equals(status)){
map.put("work_status","01");
wo_dtl.update(map,"task_id='"+task_id+"'");
map.put("is_delete","1");
map.put("update_optid",currentUserId+"");
map.put("update_optname",nickName);
map.put("update_time",now);
wo_Task.update(map,"task_id='"+task_id+"'");
}else{
throw new BadRequestException("任务状态更新异常!");
}
@@ -141,10 +147,14 @@ public class HandMoveStorAcsTask extends AbstractAcsTask {
/**
*
* @param taskdtl_id
* @param task_id
*/
@Override
public void cancel(String taskdtl_id) {
public void cancel(String task_id) {
JSONObject task_jo = WQLObject.getWQLObject("sch_base_task").query("task_id = '"+task_id+"'").uniqueResult(0);
if (!task_jo.getString("task_status").equals(TaskStatusEnum.START_AND_POINT)){
throw new BadRequestException("只能对未生成状态的任务进行删除!");
}
this.updateTaskStatus(task_jo, "0");
}
}

View File

@@ -146,6 +146,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
jo_mst.put("upload_mes", "1");
jo_mst.put("is_upload", "1");
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
jo_mst.put("upload_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
}
@@ -170,6 +172,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
jo_mst.put("upload_mes", "1");
jo_mst.put("is_upload", "1");
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
jo_mst.put("upload_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
}
@@ -206,6 +210,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
jo_mst.put("upload_mes", "1");
if (jo_mst.getString("upload_sap").equals("1")) {
jo_mst.put("is_upload", "1");
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
jo_mst.put("upload_time", DateUtil.now());
}
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
}
@@ -242,6 +248,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
jo_mst.put("upload_mes", "1");
jo_mst.put("is_upload", "1");
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
jo_mst.put("upload_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
}
@@ -263,6 +271,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
jo_mst.put("upload_mes", "1");
if (jo_mst.getString("upload_sap").equals("1")) {
jo_mst.put("is_upload", "1");
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
jo_mst.put("upload_time", DateUtil.now());
}
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
}
@@ -357,6 +367,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
jo_mst.put("upload_sap", "1");
jo_mst.put("is_upload", "1");
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
jo_mst.put("upload_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
}
@@ -498,6 +510,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
jo_mst.put("upload_sap", "1");
if (jo_mst.getString("upload_mes").equals("1") || is_productstore.equals("0")) {
jo_mst.put("is_upload", "1");
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
jo_mst.put("upload_time", DateUtil.now());
}
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
}
@@ -559,6 +573,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
jo_mst.put("upload_sap", "1");
if (jo_mst.getString("upload_mes").equals("1")) {
jo_mst.put("is_upload", "1");
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
jo_mst.put("upload_time", DateUtil.now());
}
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
}
@@ -790,6 +806,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
jo_mst.put("upload_mes", "1");
jo_mst.put("is_upload", "1");
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
jo_mst.put("upload_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
}
@@ -886,6 +904,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
jo_mst.put("upload_mes", "1");
jo_mst.put("is_upload", "1");
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
jo_mst.put("upload_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
}
@@ -987,6 +1007,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
jo_mst.put("upload_mes", "1");
}
jo_mst.put("is_upload", "1");
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
jo_mst.put("upload_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
}
@@ -1039,6 +1061,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
jo_mst.put("upload_mes", "1");
jo_mst.put("is_upload", "1");
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
jo_mst.put("upload_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
}
@@ -1074,6 +1098,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
jo_mst.put("upload_mes", "1");
jo_mst.put("is_upload", "1");
jo_mst.put("upload_optid", SecurityUtils.getCurrentUserId());
jo_mst.put("upload_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
}