Merge remote-tracking branch 'origin/b_lms' into b_lms

This commit is contained in:
2024-06-12 17:02:44 +08:00
7 changed files with 86 additions and 10 deletions

View File

@@ -108,7 +108,7 @@ public class ProcessTask extends AbstractAcsTask {
String task_type = jsonTask.getString("task_type");
String container_name = jsonTask.getString("material_code");
if ("010701".equals(task_type)) {
if ("011001".equals(task_type)) {
//维护冷却区满轴点位的库存
JSONObject cool_jo1 = ivtTab.query("full_point_code = '" + point_code1 + "'").uniqueResult(0);
String full_vehicle_code = cool_jo1.getString("full_vehicle_code");
@@ -129,7 +129,7 @@ public class ProcessTask extends AbstractAcsTask {
map3.put("empty_point_status", "02");
ivtTab.update(map3, "empty_point_code = '" + point_code4 + "'");
}
if ("010702".equals(task_type)) {
if ("011002".equals(task_type)) {
//维护冷却区满轴点位的库存
JSONObject cool_jo1 = ivtTab.query("full_point_code = '" + point_code1 + "'").uniqueResult(0);
String full_vehicle_code = cool_jo1.getString("full_vehicle_code");
@@ -156,7 +156,7 @@ public class ProcessTask extends AbstractAcsTask {
map3.put("empty_point_status", "02");
ivtTab.update(map3, "empty_point_code = '" + point_code2 + "'");
}
if ("010704".equals(task_type)) {
if ("011004".equals(task_type)) {
//维护表处区点位
JSONObject st_jo1 = stTab.query("up_point_code = '" + point_code1.split("_M")[0] + "'").uniqueResult(0);
String full_vehicle_code = st_jo1.getString("up_scroll");

View File

@@ -5,16 +5,21 @@ import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.nl.b_lms.bst.ivt.papervehicle.service.IMdPbPapervehicleService;
import org.nl.b_lms.bst.ivt.papervehicle.service.dao.MdPbPapervehicle;
import org.nl.b_lms.bst.ivt.stockingivt.service.IBstIvtStockingivtService;
import org.nl.b_lms.bst.ivt.stockingivt.service.dao.BstIvtStockingivt;
import org.nl.b_lms.sch.task.dao.SchBaseTask;
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
import org.nl.b_lms.sch.tasks.slitter.util.SlitterTaskUtil;
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
import org.nl.common.utils.SecurityUtils;
import org.nl.common.utils.TaskUtils;
import org.nl.modules.wql.WQL;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.wms.ext.acs.service.WmsToAcsService;
import org.nl.wms.sch.AcsTaskDto;
import org.nl.wms.sch.manage.AbstractAcsTask;
import org.nl.wms.sch.manage.TaskStatusEnum;
@@ -22,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@@ -38,6 +44,11 @@ public class StockAreaCallTubeTask extends AbstractAcsTask {
private IschBaseTaskService taskService;
@Autowired
private IBstIvtStockingivtService stockingivtService;
@Autowired
private IMdPbPapervehicleService mdPbPapervehicleService;
@Autowired
private WmsToAcsService wmsToAcsService;
@Override
public List<AcsTaskDto> addTask() {
/*
@@ -90,6 +101,34 @@ public class StockAreaCallTubeTask extends AbstractAcsTask {
startPointObj.setIvt_status("0");
TaskUtils.updateOptMessageByBStockingPoint(startPointObj);
stockingivtService.update(startPointObj);
//下发ACS点位库存信息
List<MdPbPapervehicle> list = mdPbPapervehicleService.list(new LambdaQueryWrapper<MdPbPapervehicle>().eq(MdPbPapervehicle::getVehicle_code, task.getVehicle_code()));
String[] material_codes = new String[list.size()];
String[] material_specs = new String[list.size()];
int[] qtys = new int[list.size()];
for (int i = 0; i < list.size(); i++) {
MdPbPapervehicle vehicle = list.get(i);
String material_code = vehicle.getMaterial_code();
int qty = vehicle.getQty().intValue();
if (containscode(material_codes, material_code)) {
int index = getIndex(material_codes, material_code);
qtys[index] += qty;
} else {
material_codes[i] = vehicle.getMaterial_code();
String spec = SlitterTaskUtil.getComposePaperTubeInformation(vehicle.getMaterial_name());
material_specs[i] = spec;
qtys[i] = qty;
}
}
JSONObject jsonObject = new JSONObject();
jsonObject.put("to_material", material_codes);
jsonObject.put("to_spec", material_codes);
jsonObject.put("to_qty", qtys);
jsonObject.put("device_code", material_specs);
wmsToAcsService.getTubeMsg(jsonObject);
}
// 取消
if (status.equals(IOSEnum.IS_NOTANDYES.code(""))) {
@@ -99,6 +138,25 @@ public class StockAreaCallTubeTask extends AbstractAcsTask {
taskService.updateById(task);
}
public boolean containscode(String[] names, String name) {
for (String n : names) {
if (name.equals(n)) {
return true;
}
}
return false;
}
// 获取name在数组中的索引
public int getIndex(String[] names, String name) {
for (int i = 0; i < names.length; i++) {
if (name.equals(names[i])) {
return i;
}
}
return -1; // 如果找不到返回-1
}
@Override
public String createTask(JSONObject form) {
String currentUserId = SecurityUtils.getCurrentUserId();

View File

@@ -134,5 +134,11 @@ public class WmsToAcsController {
return new ResponseEntity<>(wmsToAcsService.getWeight(jo), HttpStatus.OK);
}
@PostMapping("/getTubeMsg")
@Log(value = "反馈管芯库存信息", isInterfaceLog = true, interfaceLogType = InterfaceLogType.LMS_TO_ACS)
public ResponseEntity<Object> getTubeMsg(@RequestBody JSONObject jo) {
return new ResponseEntity<>(wmsToAcsService.getTubeMsg(jo), HttpStatus.OK);
}
}

View File

@@ -144,4 +144,9 @@ public interface WmsToAcsService {
* @return /
*/
JSONObject getWeight(JSONObject jo);
JSONObject getTubeMsg(JSONObject jo);
}

View File

@@ -467,4 +467,11 @@ public class WmsToAcsServiceImpl implements WmsToAcsService {
return AcsUtil.notifyAcs(api, arr);
}
@Override
public JSONObject getTubeMsg(JSONObject whereJson) {
String api = "api/wms/getTubeMes";
JSONArray arr = new JSONArray();
arr.add(whereJson);
return AcsUtil.notifyAcs(api, arr);
}
}

View File

@@ -1530,7 +1530,7 @@ public class MesToLmsServiceImpl implements MesToLmsService {
//取满放满
form.put("point_code1", jsonCoolIvt.getString("full_point_code"));
form.put("point_code2", device_jo.getString("up_point_code") + "_M");
form.put("task_type", "010702");
form.put("task_type", "011002");
form.put("material_code", containerName);
form.put("vehicle_code", jsonCoolIvt.getString("full_vehicle_code"));
form.put("product_area", device_jo.getString("product_area"));
@@ -1549,7 +1549,7 @@ public class MesToLmsServiceImpl implements MesToLmsService {
JSONObject jsonIvt = WQL.getWO("PDA_RAWFOIL_01").addParamMap(map).process().uniqueResult(0);
form.put("point_code4", jsonIvt.getString("empty_point_code"));
}
form.put("task_type", "010701");
form.put("task_type", "011001");
form.put("material_code", containerName);
form.put("vehicle_code", jsonCoolIvt.getString("full_vehicle_code"));
form.put("product_area", device_jo.getString("product_area"));
@@ -1567,7 +1567,7 @@ public class MesToLmsServiceImpl implements MesToLmsService {
form.put("point_code1", device_jo.getString("up_point_code") + "_M");
//寻找可用的冷却区满轴点位
form.put("point_code2", jsonIvt.getString("full_point_code"));
form.put("task_type", "010704");
form.put("task_type", "011004");
form.put("material_code", containerName);
form.put("vehicle_code", device_jo.getString("up_scroll"));
form.put("product_area", device_jo.getString("product_area"));