diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.xml
index 3a4c9555e..cfcc15e46 100644
--- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.xml
+++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.xml
@@ -31,11 +31,10 @@
FROM `bst_ivt_cutpointivt` bc
LEFT JOIN pdm_bi_slittingproductionplan pp ON pp.qzzno = bc.qzz_no1
OR pp.qzzno = bc.qzz_no2
- LEFT JOIN st_ivt_cutpointivt sc ON sc.ext_code = pp.resource_name
WHERE bc.point_type = #{type}
AND pp.qzz_size = #{size}
- AND sc.qzz_generation = #{generation}
+ AND pp.qzz_generation = #{generation}
AND bc.is_used = '1'
AND bc.point_status = '3'
@@ -46,11 +45,10 @@
- SELECT DISTINCT bic.*, sc.qzz_generation, p.qzz_size
+ SELECT DISTINCT bic.*, p.qzz_generation, p.qzz_size
FROM bst_ivt_cutpointivt bic
LEFT JOIN pdm_bi_slittingproductionplan p ON ((p.qzzno = bic.qzz_no1 AND IFNULL(bic.qzz_no1,'') != '')
OR (p.qzzno = bic.qzz_no2 AND IFNULL(bic.qzz_no2,'') != ''))
- LEFT JOIN st_ivt_cutpointivt sc ON sc.ext_code = p.resource_name
WHERE bic.point_type = '1'
AND bic.is_used = '1'
AND bic.point_status = '3'
diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/impl/BstIvtStockingivtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/impl/BstIvtStockingivtServiceImpl.java
index 79e60fc21..56a0d13b6 100644
--- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/impl/BstIvtStockingivtServiceImpl.java
+++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/impl/BstIvtStockingivtServiceImpl.java
@@ -2,6 +2,7 @@ package org.nl.b_lms.bst.ivt.stockingivt.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
+import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -13,12 +14,17 @@ 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.sch.tasks.slitter.constant.SlitterConstant;
+import org.nl.b_lms.sch.tasks.slitter.service.SlitterService;
+import org.nl.b_lms.sch.tasks.slitter.util.SlitterTaskUtil;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.utils.SecurityUtils;
import org.nl.b_lms.bst.ivt.stockingivt.service.IBstIvtStockingivtService;
import org.nl.b_lms.bst.ivt.stockingivt.service.dao.mapper.BstIvtStockingivtMapper;
import org.nl.b_lms.bst.ivt.stockingivt.service.dao.BstIvtStockingivt;
+import org.nl.wms.basedata.master.service.MaterialbaseService;
+import org.nl.wms.basedata.master.service.dto.MaterialbaseDto;
+import org.nl.wms.ext.acs.service.WmsToAcsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
@@ -40,6 +46,10 @@ public class BstIvtStockingivtServiceImpl extends ServiceImpl queryAll(Map whereJson, PageQuery page) {
@@ -114,7 +124,7 @@ public class BstIvtStockingivtServiceImpl extends ServiceImpl().eq(MdPbPapervehicle::getVehicle_code, vehicle_code)
.eq(MdPbPapervehicle::getRow_num, row_num));
if (ObjectUtil.isNotEmpty(papervehicle) && !papervehicle.getMaterial_code().equals(material_code)) {
throw new BadRequestException("当前排物料为【" + papervehicle.getMaterial_code() + "】,与绑定的物料不同,如需要请先清除库存,再进行绑定!");
}
+
+ //获取当前纸管的高度
+ // 解析描述数组
+ String[] tubeArray = material_name.split("\\|");
+
+ int currLength = Integer.parseInt(tubeArray[tubeArray.length - 1]);
+
+ //校验高度差要大于50MM,否则不允许进行绑定
+ int num = Integer.parseInt(row_num);
+ if (num == 1) {
+ //只判断第二排的纸管长度
+ int nextNum = num + 1;
+ MdPbPapervehicle nextPaper = PapervehicleService.getOne(new LambdaQueryWrapper().eq(MdPbPapervehicle::getVehicle_code, vehicle_code)
+ .eq(MdPbPapervehicle::getRow_num, nextNum));
+ if (ObjectUtil.isNotEmpty(nextPaper)) {
+ //获取第二排的纸管高度和纸管类型
+ String nextMaterialName = nextPaper.getMaterial_name();
+ String[] nextArray = nextMaterialName.split("\\|");
+ int nextLength = Integer.parseInt(nextArray[nextArray.length - 1]);
+ if (Math.abs(nextLength - currLength) <= 50) {
+ throw new BadRequestException("相邻排的纸管高度差要大于等于50MM!");
+ }
+ }
+ } else {
+ //判断后一排的纸管高度
+ int nextNum = num + 1;
+ MdPbPapervehicle nextPaper = PapervehicleService.getOne(new LambdaQueryWrapper().eq(MdPbPapervehicle::getVehicle_code, vehicle_code)
+ .eq(MdPbPapervehicle::getRow_num, nextNum));
+ if (ObjectUtil.isNotEmpty(nextPaper)) {
+ //获取后一排的纸管高度和纸管类型
+ String nextMaterialName = nextPaper.getMaterial_name();
+ String[] nextArray = nextMaterialName.split("\\|");
+ int nextLength = Integer.parseInt(nextArray[nextArray.length - 1]);
+ if (Math.abs(nextLength - currLength) <= 50) {
+ throw new BadRequestException("相邻排的纸管高度差要大于等于50MM!");
+ }
+ }
+
+ //判断前一排的纸管高度
+ int preNum = num - 1;
+ MdPbPapervehicle prePaper = PapervehicleService.getOne(new LambdaQueryWrapper().eq(MdPbPapervehicle::getVehicle_code, vehicle_code)
+ .eq(MdPbPapervehicle::getRow_num, preNum));
+ if (ObjectUtil.isNotEmpty(prePaper)) {
+ //获取后一排的纸管高度和纸管类型
+ String preMaterialName = prePaper.getMaterial_name();
+ String[] preArray = preMaterialName.split("\\|");
+ int preLength = Integer.parseInt(preArray[preArray.length - 1]);
+ if (Math.abs(preLength - currLength) <= 50) {
+ throw new BadRequestException("相邻排的纸管高度差要大于等于50MM!");
+ }
+ }
+ }
+
+
if (ObjectUtil.isNotEmpty(papervehicle)) {
papervehicle.setQty(jsonObject.getBigDecimal("qty"));
papervehicle.setUpdate_optid(currentUserId);
@@ -148,12 +216,25 @@ public class BstIvtStockingivtServiceImpl extends ServiceImpl().eq(MdPbPapervehicle::getVehicle_code, vehicle_code)
.eq(MdPbPapervehicle::getRow_num, row_num));
}
+
+ //判断绑定的纸管是否在机械手范围内,如果存在的话把最新库存推送给电气
+ BstIvtStockingivt bstIvtStockingivt = bstIvtStockingivtMapper.selectOne(new LambdaQueryWrapper().eq(BstIvtStockingivt::getVehicle_code, vehicle_code));
+ if (bstIvtStockingivt != null && bstIvtStockingivt.getPoint_type().equals("1")) {
+ List list = PapervehicleService.list(new LambdaQueryWrapper().eq(MdPbPapervehicle::getVehicle_code, vehicle_code));
+ JSONObject jo = new JSONObject();
+ SlitterTaskUtil.doSavePaperInfos(list, jo);
+ jo.put("product_area", bstIvtStockingivt.getProduct_area());
+ jo.put("device_code", bstIvtStockingivt.getPoint_code());
+ wmsToAcsService.getTubeMsg(jo);
+ }
+
JSONObject result = new JSONObject();
result.put("status", HttpStatus.OK.value());
result.put("message", "操作成功!");
diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/PdmBiSlittingproductionplan.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/PdmBiSlittingproductionplan.java
index 5ccddb2f8..074c4856f 100644
--- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/PdmBiSlittingproductionplan.java
+++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/PdmBiSlittingproductionplan.java
@@ -153,6 +153,9 @@ public class PdmBiSlittingproductionplan implements Serializable {
/** 气涨轴规格 */
private String qzz_size;
+ /** 气涨轴代数 */
+ private String qzz_generation;
+
/** 子卷等级*/
private String level;
diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/mapper/PdmBiSlittingproductionplanMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/mapper/PdmBiSlittingproductionplanMapper.xml
index b1c9dced2..456468995 100644
--- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/mapper/PdmBiSlittingproductionplanMapper.xml
+++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/mapper/PdmBiSlittingproductionplanMapper.xml
@@ -10,7 +10,7 @@
p.split_group,
p.up_or_down,
p.qzz_size,
- sc.qzz_generation,
+ p.qzz_generation,
COALESCE ( count_table.num, 0 ) num,
COALESCE ( ct1.cn, 0 ) AS cn,
COALESCE ( ct2.cnn, 0 ) AS cnn
@@ -60,8 +60,6 @@
AND p.parent_container_name = ct2.parent_container_name
AND p.split_group = ct2.split_group
AND p.up_or_down ]]> ct2.up_or_down
- LEFT JOIN st_ivt_cutpointivt sc
- ON sc.ext_code = p.resource_name
WHERE
p.`status` = '01'
AND p.is_child_tz_ok = '0'
@@ -75,7 +73,7 @@
p.split_group,
p.up_or_down,
p.qzz_size,
- sc.qzz_generation,
+ p.qzz_generation,
num,
cn,
cnn
@@ -97,7 +95,7 @@
p1.up_or_down,
'1' AS num,
p1.qzz_size,
- c.qzz_generation,
+ p1.qzz_generation,
ROW_NUMBER() OVER (
PARTITION BY p1.parent_container_name, p1.split_group
ORDER BY p1.resource_name
@@ -124,16 +122,6 @@
AND p1.up_or_down ]]> p2.up_or_down
AND p1.is_delete = '0'
AND p1.is_paper_ok = '1'
- LEFT JOIN
- st_ivt_cutpointivt c
- ON
- c.ext_code = p1.resource_name
- WHERE
- p1.qzzno NOT IN
-
- #{item}
-
- OR p1.qzzno IS NULL
)
SELECT
resource_name,
diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoExceptionInTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoExceptionInTask.java
new file mode 100644
index 000000000..e5bb3e823
--- /dev/null
+++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoExceptionInTask.java
@@ -0,0 +1,159 @@
+package org.nl.b_lms.sch.tasks;
+
+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 com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
+import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.impl.LashManageServiceImpl;
+import org.nl.common.utils.SecurityUtils;
+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.wms.sch.AcsTaskDto;
+import org.nl.wms.sch.manage.AbstractAcsTask;
+import org.nl.wms.sch.manage.TaskStatusEnum;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 堆垛机点位至行架点位任务(出库)
+ * Created by Lxy on 2021/12/22.
+ */
+@Service
+public class TwoExceptionInTask extends AbstractAcsTask {
+ private final String THIS_CLASS = TwoExceptionInTask.class.getName();
+
+ @Override
+ public List addTask() {
+ /*
+ * 下发给ACS时需要特殊处理
+ */
+ //任务表
+ WQLObject wo_Task = WQLObject.getWQLObject("sch_base_task");
+
+ JSONArray taskArr = WQLObject.getWQLObject("SCH_BASE_Task").query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0'").getResultJSONArray(0);
+
+ ArrayList resultList = new ArrayList<>();
+
+ for (int i = 0; i < taskArr.size(); i++) {
+ JSONObject json = taskArr.getJSONObject(i);
+
+ char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1);
+ AcsTaskDto dto = AcsTaskDto.builder()
+ .ext_task_id(json.getString("task_id"))
+ .task_code(json.getString("task_code"))
+ .task_type(json.getString("acs_task_type"))
+ .start_device_code(json.getString("point_code1"))
+ .next_device_code(json.getString("point_code2"))
+ .vehicle_code(json.getString("vehicle_code"))
+ .interaction_json(json.getJSONObject("request_param"))
+ .priority(json.getString("priority"))
+ .class_type(json.getString("task_type"))
+ .dtl_type(String.valueOf(dtl_type))
+ .remark(json.getString("remark"))
+ .build();
+ resultList.add(dto);
+
+ // 更新任务为下发
+ JSONObject paramMap = new JSONObject();
+ paramMap.put("task_status", TaskStatusEnum.ISSUE.getCode());
+ wo_Task.update(paramMap, "task_id ='" + json.getString("task_id") + "'");
+ }
+ return resultList;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void updateTaskStatus(JSONObject taskObj, String status) {
+ WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); // 任务表
+
+ String task_id = taskObj.getString("task_id");
+ JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "' and task_status < '07'").uniqueResult(0);
+
+ if (ObjectUtil.isNotEmpty(jsonTask)) {
+ if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) {
+ // 任务为执行之后就不允许取消
+ if (jsonTask.getIntValue("task_status") > Integer.parseInt(TaskStatusEnum.ISSUE.getCode())) {
+ throw new BadRequestException("任务:" + jsonTask.getString("task_code") + "已执行,不可取消");
+ }
+
+ // 更新删除字段
+ jsonTask.put("is_delete", "1");
+ jsonTask.put("update_time", DateUtil.now());
+ taskTab.update(jsonTask);
+ }
+
+ if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
+ // 更新任务状态为执行中
+ jsonTask.put("task_status", TaskStatusEnum.EXECUTING.getCode());
+ jsonTask.put("update_time", DateUtil.now());
+ taskTab.update(jsonTask);
+
+ }
+
+ if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
+ // 更新任务完成
+ jsonTask.put("task_status", TaskStatusEnum.FINISHED.getCode());
+ jsonTask.put("update_time", DateUtil.now());
+ taskTab.update(jsonTask);
+
+ }
+ }
+
+ }
+
+ @Override
+ public void findStartPoint() {
+
+ }
+
+ @Override
+ public void findNextPoint() {
+
+ }
+
+ @Override
+ public String createTask(JSONObject form) {
+ String currentUserId = SecurityUtils.getCurrentUserId();
+ String currentUsername = SecurityUtils.getCurrentUsername();
+
+ JSONObject json = new JSONObject();
+ json.put("task_id", IdUtil.getSnowflake(1, 1).nextId());
+ json.put("task_code", IdUtil.getSnowflake(1, 1).nextId());
+
+ json.put("task_type", form.getString("task_type"));
+ json.put("vehicle_code", form.getString("vehicle_code"));
+ json.put("point_code1", form.getString("point_code1"));
+ json.put("point_code2", form.getString("point_code2"));
+ json.put("request_param", form.getString("request_param"));
+
+ json.put("task_status", TaskStatusEnum.START_AND_POINT.getCode());
+ json.put("handle_class", THIS_CLASS);
+ json.put("create_id", currentUserId);
+ json.put("create_name", currentUsername);
+ json.put("create_time", DateUtil.now());
+ json.put("acs_task_type", "7");
+ WQLObject.getWQLObject("SCH_BASE_Task").insert(json);
+
+ return json.getString("task_id");
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void forceFinish(String task_id) {
+ JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0);
+ this.updateTaskStatus(taskObj, TaskStatusEnum.FINISHED.getCode());
+ }
+
+ @Override
+ public void cancel(String task_id) {
+ JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0);
+ this.updateTaskStatus(taskObj, IOSEnum.IS_NOTANDYES.code("否"));
+ }
+}
diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java
index 3bce7b377..c73817030 100644
--- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java
+++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java
@@ -89,7 +89,7 @@ public class AutoCallAirShaftTask {
// 标箔:1,锂电:2 改:大小:4代5代
String specification = empty.getQzz_generation();
String location = empty.getPoint_location();
- // 2、获取分切计划数据
+ // 2、获取分切计划数据 校验代数
List plans = slittingproductionplanService.getAllCutPlan();
if (plans.size() == 0) {
// 如果不需要套轴,就只做拔轴
@@ -113,7 +113,7 @@ public class AutoCallAirShaftTask {
makePullShaft(empty, specification);
return;
}
- // 从寻查找分切计划,并放在plans, 没有考虑区域问题
+ // 从寻查找分切计划,并放在plans, 没有考虑区域问题, 里面会考虑代数
plans = slittingproductionplanService.getAllHalfPlan(qzzs);
if (plans.size() == 0) {
// 如果不需要套轴,就只做拔轴
diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/controller/BstIvtBoxinfoController.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/controller/BstIvtBoxinfoController.java
index e3586680d..3cdfdcedd 100644
--- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/controller/BstIvtBoxinfoController.java
+++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/controller/BstIvtBoxinfoController.java
@@ -1,23 +1,21 @@
package org.nl.b_lms.storage_manage.database.controller;
+import com.alibaba.fastjson.JSONObject;
import org.nl.b_lms.pdm.subpackagerelation.service.IpdmBiSubpackagerelationService;
import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxinfoService;
import org.nl.modules.logging.annotation.Log;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
*
- * 前端控制器
+ * 前端控制器
*
*
* @author author
@@ -37,5 +35,18 @@ public class BstIvtBoxinfoController {
return new ResponseEntity<>(iBstIvtBoxinfoService.queryAll(whereJson, page), HttpStatus.OK);
}
+ @PostMapping("/saveBoxInfo")
+ @Log("保存木箱信息")
+ public ResponseEntity saveBoxInfo(@RequestBody JSONObject jsonObject) {
+ iBstIvtBoxinfoService.saveBoxInfo(jsonObject);
+ return new ResponseEntity<>(HttpStatus.OK);
+ }
+
+ @PostMapping("/getBoxInfo")
+ @Log("查询木箱信息")
+ public ResponseEntity query(@RequestBody JSONObject jsonObject) {
+ return new ResponseEntity<>(iBstIvtBoxinfoService.getBoxInfo(jsonObject), HttpStatus.OK);
+ }
+
}
diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/IBstIvtBoxinfoService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/IBstIvtBoxinfoService.java
index a752da47c..9aaea1d69 100644
--- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/IBstIvtBoxinfoService.java
+++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/IBstIvtBoxinfoService.java
@@ -9,7 +9,7 @@ import java.util.Map;
/**
*
- * 服务类
+ * 服务类
*
*
* @author author
@@ -18,7 +18,6 @@ import java.util.Map;
public interface IBstIvtBoxinfoService extends IService {
-
/**
* 查询数据分页
*
@@ -29,22 +28,22 @@ public interface IBstIvtBoxinfoService extends IService {
Map queryAll(Map whereJson, Pageable page);
-
-
-
-
/**
* 根据mes信息插入木箱信息
- * @param whereJson:{
- * Length:长
- * Width:宽
- * Height:高
- * ProductName:物料编码
- * Description:物料名称(根据"|"截取第三个和第四个之间的数值 = 子卷数)
- * ContainerName:木箱号
- * }
+ *
+ * @param whereJson:{ Length:长
+ * Width:宽
+ * Height:高
+ * ProductName:物料编码
+ * Description:物料名称(根据"|"截取第三个和第四个之间的数值 = 子卷数)
+ * ContainerName:木箱号
+ * }
* @return BstIvtBoxinfo: 木箱信息实体类
*/
BstIvtBoxinfo mesInsert(JSONObject whereJson);
+ void saveBoxInfo(JSONObject jsonObject);
+
+ BstIvtBoxinfo getBoxInfo(JSONObject jsonObject);
+
}
diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/impl/BstIvtBoxinfoServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/impl/BstIvtBoxinfoServiceImpl.java
index 5fb64b0b2..649bb5b6e 100644
--- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/impl/BstIvtBoxinfoServiceImpl.java
+++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/impl/BstIvtBoxinfoServiceImpl.java
@@ -1,4 +1,5 @@
package org.nl.b_lms.storage_manage.database.service.impl;
+
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -9,10 +10,12 @@ 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.database.service.dao.mapper.BstIvtBoxinfoMapper;
import org.nl.common.utils.IdUtil;
+import org.nl.modules.common.exception.BadRequestException;
import org.nl.system.service.param.ISysParamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
+
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;
@@ -41,7 +44,7 @@ public class BstIvtBoxinfoServiceImpl extends ServiceImpl result = bstIvtBoxinfoMapper.selectPage(new Page<>(page.getPageNumber() + 1, page.getPageSize()),queryWrapper);
+ IPage result = bstIvtBoxinfoMapper.selectPage(new Page<>(page.getPageNumber() + 1, page.getPageSize()), queryWrapper);
mapReslt.put("content", result.getRecords());
mapReslt.put("totalElements", result.getTotal());
return mapReslt;
@@ -56,7 +59,7 @@ public class BstIvtBoxinfoServiceImpl extends ServiceImpl().eq(BstIvtBoxinfo::getBox_no, boxNo));
+ if (boxinfo == null) {
+ throw new BadRequestException("未查询到该木箱对应的木箱信息");
+ }
+ boxinfo.setBox_weight(box_weight);
+ bstIvtBoxinfoMapper.updateById(boxinfo);
+ }
+
+ @Override
+ public BstIvtBoxinfo getBoxInfo(JSONObject jsonObject) {
+ String boxNo = jsonObject.getString("box_no");
+ BstIvtBoxinfo boxinfo = bstIvtBoxinfoMapper.selectOne(new LambdaQueryWrapper().eq(BstIvtBoxinfo::getBox_no, boxNo));
+ if (boxinfo == null) {
+ throw new BadRequestException("未查询到该木箱对应的木箱信息");
+ }
+ return boxinfo;
+ }
}
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java
index 8be367f54..dc486ab5d 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java
@@ -26,6 +26,8 @@ import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
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.TwoBoxExcepTask;
+import org.nl.b_lms.sch.tasks.TwoExceptionInTask;
+import org.nl.b_lms.sch.tasks.TwoOutHeapTask;
import org.nl.b_lms.sch.tasks.first_floor_area.MzhcwTask;
import org.nl.b_lms.sch.tasks.first_floor_area.SsxDjwTask;
import org.nl.b_lms.sch.tasks.slitter.service.SlitterService;
@@ -50,6 +52,7 @@ import org.nl.wms.pda.mps.service.CasingService;
import org.nl.wms.pda.mps.service.ShippingService;
import org.nl.wms.pda.mps.service.impl.BakingServiceImpl;
import org.nl.wms.pda.st.service.impl.PrintServiceImpl;
+import org.nl.wms.sch.ComPareUtil;
import org.nl.wms.sch.manage.TaskStatusEnum;
import org.nl.wms.sch.tasks.CutConveyorTask;
import org.nl.wms.sch.tasks.EmptyVehicleTask;
@@ -295,7 +298,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
String type = whereJson.getString("type");
JSONObject result = new JSONObject();
RLock lock = redissonClient.getLock("acs_to_wms:" + type);
- boolean tryLock = lock.tryLock(5,20, TimeUnit.SECONDS);
+ boolean tryLock = lock.tryLock(5, 20, TimeUnit.SECONDS);
try {
if (tryLock) {
String device_code = whereJson.getString("device_code");
@@ -554,8 +557,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
//判断是否开启了系统参数生成AGV搬运任务
String agv_transport = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("agv_transport").getValue();
//如果未开启AGV搬运则不创建从1016到发货区的任务
- if (agv_transport.equals("0")){
- log.info("未开启AGV搬运系统参数,不生成AGV搬运["+vehicle_code+"]任务!");
+ if (agv_transport.equals("0")) {
+ log.info("未开启AGV搬运系统参数,不生成AGV搬运[" + vehicle_code + "]任务!");
JSONArray sub_rows2 = WQLObject.getWQLObject("pdm_bi_subpackagerelation").query("package_box_sn = '" + vehicle_code + "'").getResultJSONArray(0);
for (int i = 0; i < sub_rows2.size(); i++) {
JSONObject sub_row = sub_rows2.getJSONObject(i);
@@ -735,7 +738,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
if (lock.isLocked() && lock.isHeldByCurrentThread()) {
try {
lock.unlock();
- }catch (Exception ex){}
+ } catch (Exception ex) {
+ }
}
}
result.put("status", HttpStatus.BAD_REQUEST.value());
@@ -1438,9 +1442,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
ivt_shaftivt.update(point1_jo);
} else if ("010607".equals(point_type) || "010603".equals(point_type) || "010606".equals(point_type)) {
JSONObject point1_jo = ivt_shaftivt.query("point_code = '" + task_jo.getString("point_code1") + "'").uniqueResult(0);
- if(point1_jo.getString("point_type").equals("1")){
+ if (point1_jo.getString("point_type").equals("1")) {
point1_jo.put("have_qzz", "0");
- }else {
+ } else {
point1_jo.put("qzz_size", "");
point1_jo.put("qzz_generation", "");
point1_jo.put("have_qzz", "0");
@@ -1838,7 +1842,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
}
} else {
//如果满轴位没有可用的空点位,先创建一个桁架任务但是不下发,等这边空出来点位,判断是否有这种桁架任务然后补发;
- List existTaskList = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"),containerName);
+ List existTaskList = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), containerName);
//如果有就不创建,没有就创建
if (CollectionUtils.isEmpty(existTaskList)) {
//只确定起点NBJ1002
@@ -1978,8 +1982,33 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
if (whereJson.getIntValue("weight") <= 0) {
throw new BadRequestException("上报的重量不能为0!");
}
- whereJson.put("bill_type", IOSEnum.IN_TYPE.code("生产入库"));
- inBussManageService.inTask(whereJson);
+ JSONObject jsonObject = ComPareUtil.CompareWhight(whereJson);
+ if (jsonObject.getBoolean("compaer_result")) {
+ whereJson.put("bill_type", IOSEnum.IN_TYPE.code("生产入库"));
+ inBussManageService.inTask(whereJson);
+ } else {
+ JSONObject jsonTaskParam = new JSONObject();
+ //创建异常任务去异常入库口
+ //入库口
+ jsonTaskParam.put("point_code1", "RK1018");
+ //异常位
+ jsonTaskParam.put("point_code2", "RK1003");
+ jsonTaskParam.put("vehicle_code", jsonObject.getString("box_no"));
+ jsonTaskParam.put("vehicle_code2", whereJson.getString("vehicle_code"));
+ JSONObject request_param = new JSONObject();
+ if (whereJson.getString("vehicle_code").startsWith("A")) {
+ request_param.put("containerType", "2");
+ } else if (whereJson.getString("vehicle_code").startsWith("B")) {
+ request_param.put("containerType", "1");
+ } else {
+ throw new BadRequestException("托盘号有误,无法找到对应的托盘类型!");
+ }
+ jsonTaskParam.put("request_param", request_param);
+ TwoExceptionInTask bean = SpringContextHolder.getBean(TwoExceptionInTask.class);
+ bean.createTask(jsonTaskParam);
+ bean.immediateNotifyAcs(null);
+ }
+
} else if (type.equals(IOSEnum.ACSTOLMS_TYPE.code("空盘入库"))) {
// 2-空盘入库
whereJson.put("vehicle_type", whereJson.getString("container_type"));
@@ -2452,7 +2481,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
}
} catch (Exception e) {
- log.info("1层空托盘区扩容失败:"+e.getMessage());
+ log.info("1层空托盘区扩容失败:" + e.getMessage());
return;
}
@@ -2461,15 +2490,16 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
jsonParam.put("sect_id", RegionTypeEnum.KTP01.getId());
jsonParam.put("sect_code", "KTP01");
jsonParam.put("sect_name", RegionTypeEnum.KTP01.getName());
- attr.update(jsonParam,"sect_code = 'ZC01' AND block_num = '"+block_num+"' AND row_num = '"+row_num+"' AND layer_num = '1'");
+ attr.update(jsonParam, "sect_code = 'ZC01' AND block_num = '" + block_num + "' AND row_num = '" + row_num + "' AND layer_num = '1'");
// 更新点位为主存区域
jsonParam.put("region_id", RegionTypeEnum.KTP01.getId());
jsonParam.put("region_code", "KTP01");
jsonParam.put("region_name", RegionTypeEnum.KTP01.getName());
- point.update(jsonParam,"region_code = 'ZC01' AND block_num = '"+block_num+"' AND row_num = '"+row_num+"' AND layer_num = '1'");
+ point.update(jsonParam, "region_code = 'ZC01' AND block_num = '" + block_num + "' AND row_num = '" + row_num + "' AND layer_num = '1'");
}
+
@Override
public JSONObject actionFinishRequest2(JSONObject param) {
return slitterService.acsActionFinishRequestToRelease(param);
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/rest/MesToLmsController.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/rest/MesToLmsController.java
index d0c9cf86f..6e26acbc2 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/rest/MesToLmsController.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/rest/MesToLmsController.java
@@ -167,7 +167,7 @@ public class MesToLmsController {
@Log("MES传递给LMS入线边库或者入成品库、撤销入线边库、人工改变入线边还是包装")
@SaIgnore
public ResponseEntity changeSect(@RequestBody JSONObject jo) {
- return new ResponseEntity<>(mesToLmsService.changeSect(jo), HttpStatus.OK);
+ return new ResponseEntity<>(mesToLmsService.sendTargetHouse(jo), HttpStatus.OK);
}
@PostMapping("/getWasteFoilWeight")
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/MesToLmsService.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/MesToLmsService.java
index 52ad40eb3..79219ba21 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/MesToLmsService.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/MesToLmsService.java
@@ -80,8 +80,6 @@ public interface MesToLmsService {
JSONObject sendSubInfo(JSONObject param);
- JSONObject changeSect(JSONObject param);
-
JSONObject getWasteFoilWeight(JSONObject param);
JSONObject WasteFoilSuccess(JSONObject param);
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java
index 5e39027d6..bb8730fde 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java
@@ -23,6 +23,7 @@ import org.nl.b_lms.bst.ivt.scale.history.service.dao.BstIvtScalehistory;
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproductionplanService;
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan;
import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation;
+import org.nl.b_lms.pdm.subpackagerelation.service.IpdmBiSubpackagerelationService;
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
import org.nl.b_lms.sch.tasks.ProcessTask;
@@ -88,6 +89,9 @@ public class MesToLmsServiceImpl implements MesToLmsService {
@Resource
private IbstIvtPackageinfoivtService packageinfoivtService;
+ @Autowired
+ private IpdmBiSubpackagerelationService subpackagerelationService;
+
/**
* 生箔烘箱:
@@ -119,6 +123,9 @@ public class MesToLmsServiceImpl implements MesToLmsService {
String UpCoilerDate = param.getString("UpCoilerDate");
String IsReloadSend = param.getString("IsReloadSend");
String Attribute1 = param.getString("Attribute1");
+ if (StringUtils.isEmpty(Attribute1)) {
+ Attribute1 = "SF2";
+ }
WQLObject pointTab = WQLObject.getWQLObject("ST_IVT_SbPointIvt");
WQLObject orderTab = WQLObject.getWQLObject("PDM_BI_RawFoilWorkOrder");
@@ -171,8 +178,10 @@ public class MesToLmsServiceImpl implements MesToLmsService {
json.put("product_area", jsonPoint.getString("product_area"));
json.put("point_code", jsonPoint.getString("point_code"));
if (Attribute1.equals("SF1")) {
+ //标箔
json.put("order_type", "1");
} else if (Attribute1.equals("SF2")) {
+ //锂电
json.put("order_type", "2");
}
json.put("realstart_time", DateUtil.now());
@@ -217,6 +226,9 @@ public class MesToLmsServiceImpl implements MesToLmsService {
String ContainerName = param.getString("ContainerName");
String ResourceName = param.getString("ResourceName");
String Type = param.getString("Type");
+ if (StringUtils.isEmpty(Type)) {
+ Type = "Foil";
+ }
JSONObject raw_jo = new JSONObject();
if (Type.equals("TR")) {
raw_jo = WQLObject.getWQLObject("PDM_BI_SurProcessOrder").query("container_name ='" + ContainerName + "' AND resource_name = '" + ResourceName + "'").uniqueResult(0);
@@ -515,7 +527,9 @@ public class MesToLmsServiceImpl implements MesToLmsService {
String SplitBreadth = param.getString("SplitBreadth"); // 子卷幅宽
String SplitHeight = param.getString("SplitHeight"); // 子卷理论长度
String SplitWeight = param.getString("SplitWeight"); // 子卷理论重量
- String Attribute2 = param.getString("Attribute2"); // 销售订单及行号
+// String Attribute2 = param.getString("Attribute2"); // 销售订单及行号
+ String Attribute2 = param.getString("Attribute2"); // 上下轴
+ String Attribute3 = param.getString("Attribute3"); // 位置左右
WQLObject tab = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan");
@@ -585,6 +599,8 @@ public class MesToLmsServiceImpl implements MesToLmsService {
* 1.当管件类型为1(纸筒)时 PaperTubeMaterial 纸筒物料编码、PaperTubeDescription 纸筒物料描述、PaperTubeModel 纸筒规格 不能为空
* 2.当管件类型为2(FRP管)时 FRPMaterial FRP管物料编码、FRPDescription FRP管物料描述、FRPModel FRP管规格 不能为空
*/
+ String qzz_generation = "0";
+ String qzz_size = "0";
if (StrUtil.equals(PaperTubeOrFRP, "1")) {
if (ObjectUtil.isEmpty(param.getString("PaperTubeMaterial"))) {
throw new BadRequestException("纸筒物料编码不能为空");
@@ -595,6 +611,16 @@ public class MesToLmsServiceImpl implements MesToLmsService {
if (ObjectUtil.isEmpty(param.getString("PaperTubeModel"))) {
throw new BadRequestException("纸筒规格不能为空");
}
+ if (param.getString("PaperTubeDescription").contains("3.12")) {
+ qzz_generation = "4";
+ }
+ if (param.getString("PaperTubeDescription").contains("3.15")) {
+ qzz_generation = "5";
+ }
+ // 解析描述数组
+ String[] tubeArray = param.getString("PaperTubeDescription").split("\\|");
+ // 定义尺寸与长度
+ qzz_size = Character.toString(tubeArray[2].charAt(0));
} else {
if (ObjectUtil.isEmpty(param.getString("FRPMaterial"))) {
throw new BadRequestException("FRP管物料编码不能为空");
@@ -605,6 +631,16 @@ public class MesToLmsServiceImpl implements MesToLmsService {
if (ObjectUtil.isEmpty(param.getString("FRPModel"))) {
throw new BadRequestException("FRP管规格不能为空");
}
+ if (param.getString("FRPDescription").contains("3.12")) {
+ qzz_generation = "4";
+ }
+ if (param.getString("FRPDescription").contains("3.15")) {
+ qzz_generation = "5";
+ }
+ // 解析描述数组
+ String[] tubeArray = param.getString("FRPDescription").split("\\|");
+ // 定义尺寸与长度
+ qzz_size = Character.toString(tubeArray[2].charAt(0));
}
JSONObject json = new JSONObject();
@@ -632,9 +668,17 @@ public class MesToLmsServiceImpl implements MesToLmsService {
json.put("split_breadth", SplitBreadth);
json.put("split_height", SplitHeight);
json.put("split_weight", SplitWeight);
- json.put("sale_order_name", Attribute2);
+ json.put("up_or_down", Attribute2);
+ json.put("left_or_right", Attribute3);
+ json.put("qzz_size", qzz_size);
+ if (ResourceName.startsWith("B5") || ResourceName.startsWith("B6")) {
+ json.put("is_paper_ok", "1");
+ }
+// json.put("sale_order_name", Attribute2);
+
json.put("start_time", DateUtil.now());
json.put("status", "01");
+ json.put("qzz_generation", qzz_generation);
json.put("is_parent_ok", "0");
json.put("is_child_tz_ok", "0");
json.put("is_child_ps_ok", "0");
@@ -1280,7 +1324,7 @@ public class MesToLmsServiceImpl implements MesToLmsService {
JSONObject jsonStor = WQLObject.getWQLObject("st_ivt_bsrealstorattr").query("stor_code = '" + stor_code + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(jsonStor)) {
- throw new BadRequestException("仓库不存在:"+stor_code);
+ throw new BadRequestException("仓库不存在:" + stor_code);
}
JSONArray rowsDtl = new JSONArray();
@@ -1711,7 +1755,7 @@ public class MesToLmsServiceImpl implements MesToLmsService {
log.info("sendTargetHouse输入参数为:-------------------" + param.toString());
JSONObject resultParam = new JSONObject();
try {
- String containerName = param.getString("sconds");
+ String containerName = param.getString("ContainerName");
String TargetHouse = param.getString("TargetHouse");
if (StringUtils.isBlank(containerName)) {
throw new BadRequestException("传入的母卷号不能为空!");
@@ -1871,17 +1915,44 @@ public class MesToLmsServiceImpl implements MesToLmsService {
public JSONObject containerNeedDown(JSONObject param) {
log.info("containerNeedDown输入参数为:-------------------" + param.toString());
- JSONObject resultParam = new JSONObject();
- resultParam.put("RTYPE", "S");
- resultParam.put("Code", "0");
- resultParam.put("RTMSG", "操作成功!");
+ JSONObject result = new JSONObject();
- return resultParam;
+ String OutsideContainerName = param.getString("OutsideContainerName");
+ String InsideContainerName = param.getString("InsideContainerName");
+ String CarrierStatus = param.getString("CarrierStatus");
+
+ if (StrUtil.isEmpty(OutsideContainerName)) {
+ throw new BadRequestException("外卷卷号不能为空!");
+ }
+
+ if (StrUtil.isEmpty(InsideContainerName)) {
+ throw new BadRequestException("内卷卷号不能为空!");
+ }
+
+ if (StrUtil.isEmpty(CarrierStatus)) {
+ throw new BadRequestException("是否需要下轴不能为空!");
+ }
+
+ try { // 返回成功
+ result.put("RTYPE", "S");
+ result.put("RTMSG", "操作成功!");
+ result.put("RTOAL", 1);
+ result.put("RTDAT", null);
+ } catch (Exception e) {
+ // 返回失败
+ result.put("RTYPE", "E");
+ result.put("RTMSG", "操作失败!" + e.getMessage());
+ result.put("RTOAL", 0);
+ result.put("RTDAT", null);
+ }
+
+ return result;
}
@Override
public JSONObject sendSubInfo(JSONObject param) {
+ log.info("sendSubInfo输入参数为:-------------------" + param.toString());
/* {"ContainerName":"A1222211290105A3",
"SAPLotNumber":"A000000168",
"SaleOrderName":"100000022-100",
@@ -1899,6 +1970,7 @@ public class MesToLmsServiceImpl implements MesToLmsService {
"ETTensileStrengthLowerLimit":"300",
"TensileStrength":"1.0"}*/
+ JSONObject result = new JSONObject();
//子卷号
String ContainerName = param.getString("ContainerName");
//SAP批次
@@ -1940,47 +2012,45 @@ public class MesToLmsServiceImpl implements MesToLmsService {
//生产实际抗拉值
String TensileStrength = param.getString("TensileStrength");
- PdmBiSubpackagerelation dto = new PdmBiSubpackagerelation();
- dto.setContainer_name(ContainerName);
- dto.setSap_pcsn(SAPLotNumber);
- dto.setSale_order_name(SaleOrderName);
- dto.setContainer_name(CustomerName);
- dto.setCustomer_description(CustomerDescription);
- dto.setWidth(Width);
- dto.setThickness(Thickness);
- dto.setMass_per_unit_area(MassPerUnitArea);
- dto.setNet_weight(NetWeight);
- dto.setLength(Length);
- dto.setDate_of_production(DateOfProduction);
- dto.setIs_un_plan_production(isUnPlanProduction);
- dto.setUn_plan_product_property1(UnPlanProductProperty1);
- dto.setUn_plan_product_property2(UnPlanProductProperty2);
- dto.setUn_plan_product_property3(UnPlanProductProperty3);
- dto.setDemand_limit(SOTensileStrengthLowerLimit);
- dto.setStandard_limit(ETTensileStrengthLowerLimit);
- dto.setActual_value(TensileStrength);
+ try {
+ PdmBiSubpackagerelation dto = new PdmBiSubpackagerelation();
+ dto.setContainer_name(ContainerName);
+ dto.setSap_pcsn(SAPLotNumber);
+ dto.setSale_order_name(SaleOrderName);
+ dto.setContainer_name(CustomerName);
+ dto.setCustomer_description(CustomerDescription);
+ dto.setWidth(Width);
+ dto.setThickness(Thickness);
+ dto.setMass_per_unit_area(MassPerUnitArea);
+ dto.setNet_weight(NetWeight);
+ dto.setLength(Length);
+ dto.setDate_of_production(DateOfProduction);
+ dto.setIs_un_plan_production(isUnPlanProduction);
+ dto.setUn_plan_product_property1(UnPlanProductProperty1);
+ dto.setUn_plan_product_property2(UnPlanProductProperty2);
+ dto.setUn_plan_product_property3(UnPlanProductProperty3);
+ dto.setDemand_limit(SOTensileStrengthLowerLimit);
+ dto.setStandard_limit(ETTensileStrengthLowerLimit);
+ dto.setActual_value(TensileStrength);
+ dto.setWidth_standard(WidthPlan);
+ dto.setThickness_request(ThicknessPlan);
+ dto.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextId() + "");
+ subpackagerelationService.save(dto);
+ // 返回成功
+ result.put("RTYPE", "S");
+ result.put("RTMSG", "操作成功!");
+ result.put("RTOAL", 1);
+ result.put("RTDAT", null);
+ } catch (Exception e) {
+ // 返回失败
+ result.put("RTYPE", "E");
+ result.put("RTMSG", "操作失败!" + e.getMessage());
+ result.put("RTOAL", 0);
+ result.put("RTDAT", null);
+ }
- log.info("sendSubInfo输入参数为:-------------------" + param.toString());
-
- JSONObject resultParam = new JSONObject();
- resultParam.put("RTYPE", "S");
- resultParam.put("Code", "0");
- resultParam.put("RTMSG", "操作成功!");
-
- return resultParam;
- }
-
- @Override
- public JSONObject changeSect(JSONObject param) {
- log.info("changeSect输入参数为:-------------------" + param.toString());
-
- JSONObject resultParam = new JSONObject();
- resultParam.put("RTYPE", "S");
- resultParam.put("Code", "0");
- resultParam.put("RTMSG", "操作成功!");
-
- return resultParam;
+ return result;
}
@Override
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/ComPareUtil.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/ComPareUtil.java
new file mode 100644
index 000000000..ee27f5710
--- /dev/null
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/ComPareUtil.java
@@ -0,0 +1,76 @@
+package org.nl.wms.sch;
+
+import cn.hutool.core.util.NumberUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.apache.commons.lang3.StringUtils;
+import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation;
+import org.nl.b_lms.pdm.subpackagerelation.service.IpdmBiSubpackagerelationService;
+import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxinfoService;
+import org.nl.b_lms.storage_manage.database.service.dao.BstIvtBoxinfo;
+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.springframework.beans.factory.annotation.Autowired;
+
+import java.math.BigDecimal;
+import java.util.Arrays;
+import java.util.List;
+
+public class ComPareUtil {
+
+ public static JSONObject CompareWhight(JSONObject jsonObject) {
+
+ WQLObject subTab = WQLObject.getWQLObject("pdm_bi_subpackagerelation");
+
+ String vehicle_code = jsonObject.getString("vehicle_code");
+
+ // 处理子卷号
+ String material_barcode = jsonObject.getString("material_barcode");
+ if (ObjectUtil.isEmpty(material_barcode)) {
+ throw new BadRequestException("子卷号不能为空!");
+ }
+
+ List pcsnList = Arrays.asList(material_barcode.split(","));
+ // 查询子卷包装关系
+ List subList = subTab.query("container_name in ('" + String.join("','", pcsnList) + "') and status in ('0','1','99')")
+ .getResultJSONArray(0).toJavaList(JSONObject.class);
+ if (ObjectUtil.isEmpty(subList)) {
+ throw new BadRequestException("未查询到子卷包装信息!");
+ }
+ if (StringUtils.isBlank(subList.get(0).getString("package_box_sn"))) {
+ throw new BadRequestException("木箱号不能为空!");
+ }
+ //查询托盘重量
+ JSONObject vehicle_ext = WQLObject.getWQLObject("").query("storagevehicle_code = '" + vehicle_code + "'").uniqueResult(0);
+ if (ObjectUtil.isEmpty(vehicle_ext)) {
+ throw new BadRequestException("未查询到托盘的扩展信息");
+ }
+ IpdmBiSubpackagerelationService ipdmBiSubpackagerelationService = SpringContextHolder.getBean(IpdmBiSubpackagerelationService.class);
+ List list = ipdmBiSubpackagerelationService.list(new LambdaQueryWrapper().eq(PdmBiSubpackagerelation::getPackage_box_sn, vehicle_ext.getString("pcsn")));
+ if (ObjectUtil.isEmpty(list)) {
+ throw new BadRequestException("未查询到对应的木箱包装关系!");
+ }
+ PdmBiSubpackagerelation sub = list.get(0);
+
+
+ double vehicle_weight = vehicle_ext.getDoubleValue("qty");
+ double current_weight = NumberUtil.sub(jsonObject.getDoubleValue("weight"), vehicle_weight);
+ double box_weight = sub.getBox_weight().doubleValue();
+
+ double weight_sys = Double.parseDouble(SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("weight_sys").getValue());
+
+ boolean compaer_result = true;
+ if (!(NumberUtil.sub(box_weight, weight_sys) <= current_weight && NumberUtil.add(box_weight, weight_sys) >= current_weight)) {
+ compaer_result = false;
+ }
+
+ JSONObject json = new JSONObject();
+ json.put("compaer_result", compaer_result);
+ json.put("box_no", sub.getPackage_box_sn());
+ return json;
+ }
+}
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoQueryProudDayData.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoQueryProudDayData.java
index 58dc8cdcc..40ae3747b 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoQueryProudDayData.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoQueryProudDayData.java
@@ -36,7 +36,7 @@ public class AutoQueryProudDayData {
@SneakyThrows
public void run() {
RLock lock = redissonClient.getLock(this.getClass().getName());
- boolean tryLock = lock.tryLock(0,600, TimeUnit.SECONDS);
+ boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
try {
if (tryLock){
JSONObject param = new JSONObject();
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoSendIvtExcel.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoSendIvtExcel.java
index 29034d559..ab01616b0 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoSendIvtExcel.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoSendIvtExcel.java
@@ -122,7 +122,7 @@ public class AutoSendIvtExcel {
ToolLocalStorage local = iToolLocalStorageService.getOne(new QueryWrapper().eq("name","当天库存报表"));
if (ObjectUtil.isNotEmpty(local)){
local.setUpdate_time(DateUtil.now());
- iToolLocalStorageService.save(local);
+ iToolLocalStorageService.update(local);
}else {
ToolLocalStorage localStorage = new ToolLocalStorage(
"当天库存报表.xls",
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/TaskServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/TaskServiceImpl.java
index a3d4170ee..deaac2df6 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/TaskServiceImpl.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/TaskServiceImpl.java
@@ -96,12 +96,12 @@ public class TaskServiceImpl implements TaskService {
if (StrUtil.isNotEmpty(whereJson.getString("is_delete"))) {
map.put("is_delete", whereJson.getString("is_delete"));
}
- //获取人员对应的区域
- // UserAreaServiceImpl userAreaService = new UserAreaServiceImpl();
- // String in_area_id = userAreaService.getInArea();
- // if (ObjectUtil.isNotEmpty(in_area_id)) {
- // map.put("in_area_id", in_area_id);
- // }
+// 获取人员对应的区域
+ UserAreaServiceImpl userAreaService = new UserAreaServiceImpl();
+ String in_area_id = userAreaService.getInArea();
+ if (ObjectUtil.isNotEmpty(in_area_id)) {
+ map.put("in_area_id", in_area_id);
+ }
JSONObject json = WQL.getWO("QSCH_TASK_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "update_time desc");
JSONArray content = json.getJSONArray("content");
JSONArray res = new JSONArray();
@@ -124,7 +124,7 @@ public class TaskServiceImpl implements TaskService {
RLock lock = redissonClient.getLock(task_id);
boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
try {
- if (tryLock){
+ if (tryLock) {
String method_name = MapUtil.getStr(map, "method_name");
JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0);
if ("finish".equals(method_name)) {
@@ -184,10 +184,10 @@ public class TaskServiceImpl implements TaskService {
throw new BadRequestException(e.getMessage());
}
}
- }else {
- throw new BadRequestException("任务标识为:"+task_id+"的任务正在操作中!");
+ } else {
+ throw new BadRequestException("任务标识为:" + task_id + "的任务正在操作中!");
}
- }finally {
+ } finally {
if (tryLock) {
lock.unlock();
}
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutTrussTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutTrussTask.java
index b7a66b33c..af13b1c58 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutTrussTask.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutTrussTask.java
@@ -85,6 +85,71 @@ public class CutTrussTask extends AbstractAcsTask {
String task_id = taskObj.getString("task_id");
JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "'").uniqueResult(0);
+ if (StrUtil.equals(status, "0")) {
+ // 更新删除字段
+ jsonTask.put("is_delete", "1");
+ jsonTask.put("update_time", DateUtil.now());
+ taskTab.update(jsonTask);
+
+ //桁架标准任务
+ if ("010403".equals(jsonTask.getString("task_type"))) {
+ //更新入站气涨轴的分切计划状态
+ JSONArray plan_jo = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '" + jsonTask.getString("vehicle_code") + "' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status IN ('04','05')").getResultJSONArray(0);
+ if (ObjectUtil.isEmpty(plan_jo)) {
+ throw new BadRequestException("未查询到气涨轴:" + jsonTask.getString("vehicle_code") + "状态为:入站中或入站完成的分切计划!");
+ }
+ for (int i = 0; i < plan_jo.size(); i++) {
+ JSONObject plan_row = plan_jo.getJSONObject(i);
+ plan_row.put("status", "03");
+ plan_row.put("end_time", DateUtil.now());
+ WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(plan_row);
+ }
+
+ //更新出站气涨轴的分切计划状态
+ JSONArray plan_jo2 = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '" + jsonTask.getString("vehicle_code2") + "' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status = '06'").getResultJSONArray(0);
+ if (ObjectUtil.isEmpty(plan_jo2)) {
+ throw new BadRequestException("未查询到气涨轴:" + jsonTask.getString("vehicle_code2") + "状态为:出站中的分切计划!");
+ }
+ for (int i = 0; i < plan_jo2.size(); i++) {
+ JSONObject plan_row = plan_jo2.getJSONObject(i);
+ plan_row.put("status", "05");
+ plan_row.put("end_time", DateUtil.now());
+ WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(plan_row);
+ }
+ }
+
+ //分切>输送线 子卷出站
+ if ("010404".equals(jsonTask.getString("task_type"))) {
+ if (!jsonTask.getString("vehicle_code").contains("废箔")) {
+ //更新出站气涨轴的分切计划状态
+ JSONArray plan_jo2 = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '" + jsonTask.getString("vehicle_code") + "' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status = '06'").getResultJSONArray(0);
+ if (ObjectUtil.isEmpty(plan_jo2)) {
+ throw new BadRequestException("未查询到气涨轴:" + jsonTask.getString("vehicle_code") + "状态为:出站中的分切计划!");
+ }
+ for (int i = 0; i < plan_jo2.size(); i++) {
+ JSONObject plan_row = plan_jo2.getJSONObject(i);
+ plan_row.put("status", "05");
+ plan_row.put("end_time", DateUtil.now());
+ WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(plan_row);
+ }
+ }
+ }
+ //分切>输送线 子卷入站
+ if ("010405".equals(jsonTask.getString("task_type"))) {
+ //更新入站气涨轴的分切计划状态
+ JSONArray plan_jo = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '" + jsonTask.getString("vehicle_code") + "' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status IN ('04','05') ").getResultJSONArray(0);
+ if (ObjectUtil.isEmpty(plan_jo)) {
+ throw new BadRequestException("未查询到气涨轴:" + jsonTask.getString("vehicle_code") + "状态为:入站中或入站完成的分切计划!");
+ }
+ for (int i = 0; i < plan_jo.size(); i++) {
+ JSONObject plan_row = plan_jo.getJSONObject(i);
+ plan_row.put("status", "03");
+ plan_row.put("end_time", DateUtil.now());
+ WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(plan_row);
+ }
+ }
+ }
+
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
// 更新任务状态为执行中
jsonTask.put("task_status", TaskStatusEnum.EXECUTING.getCode());
@@ -198,6 +263,84 @@ public class CutTrussTask extends AbstractAcsTask {
cutConveyorTask.createTask(form);
}
+ if ("010405".equals(jsonTask.getString("task_type"))) {
+ //更新输送线的气涨轴编码
+ JSONObject delivery_point = WQLObject.getWQLObject("ST_IVT_DeliveryPointIvt").query("point_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0);
+ if (ObjectUtil.isEmpty(delivery_point)) {
+ throw new BadRequestException("未查询到对应的输送线点位!");
+ }
+ delivery_point.put("qzzno", "");
+ delivery_point.put("point_status", "02");
+ WQLObject.getWQLObject("ST_IVT_DeliveryPointIvt").update(delivery_point);
+
+ //更新入站气涨轴的分切计划状态
+ JSONArray plan_jo = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '" + jsonTask.getString("vehicle_code") + "' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status IN ('04','05') ").getResultJSONArray(0);
+ if (ObjectUtil.isEmpty(plan_jo)) {
+ throw new BadRequestException("未查询到气涨轴:" + jsonTask.getString("vehicle_code") + "对应的分切计划!");
+ }
+ for (int i = 0; i < plan_jo.size(); i++) {
+ JSONObject plan_row = plan_jo.getJSONObject(i);
+ plan_row.put("status", "05");
+ plan_row.put("end_time", DateUtil.now());
+ WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(plan_row);
+ }
+
+ //如果桁架任务执行完,右侧的输送线上存在气涨轴,则生成一个输送出的任务,防止左侧空载具挡住右侧气涨轴进行横移
+ log.debug("如果桁架任务执行完,缓存位的输送线上存在气涨轴,则对上料位的空载具生成一个输送出的任务");
+ char dtl_type = jsonTask.getString("point_code1").charAt(jsonTask.getString("point_code1").length() - 1);
+ if (Integer.valueOf(String.valueOf(dtl_type)) % 2 != 0) {
+ String point_location = delivery_point.getString("point_location");
+ String product_area = delivery_point.getString("product_area");
+ String sort_seq = delivery_point.getString("sort_seq");
+ JSONObject right_point = WQL.getWO("PDA_02")
+ .addParam("point_location", point_location)
+ .addParam("point_code", jsonTask.getString("point_code1"))
+ .addParam("product_area", product_area)
+ .addParam("sort_seq", sort_seq)
+ .addParam("find_type", "3")
+ .addParam("flag", "17").process().uniqueResult(0);
+ if (ObjectUtil.isNotEmpty(right_point)) {
+ log.debug("生成一个输送线出库任务");
+ //生成一个输送线出库任务
+ JSONObject form = new JSONObject();
+ form.put("point_code1", jsonTask.getString("point_code1"));
+ JSONObject ss_jo = WQLObject.getWQLObject("sch_base_point").query("product_area = '" + delivery_point.getString("product_area") + "' AND point_type = '7'").uniqueResult(0);
+ form.put("point_code2", ss_jo.getString("point_code"));
+ if (StrUtil.isEmpty(delivery_point.getString("vehicle_code"))) {
+ throw new BadRequestException("点位:" + delivery_point.getString("point_code") + "载具号为空!");
+ }
+ form.put("vehicle_code2", delivery_point.getString("vehicle_code"));
+ //分切输送出
+ form.put("task_type", "010401");
+ form.put("product_area", delivery_point.getString("product_area"));
+ cutConveyorTask.createTask(form);
+ } else {
+
+ right_point = WQL.getWO("PDA_02")
+ .addParam("point_location", point_location)
+ .addParam("point_code", jsonTask.getString("point_code1"))
+ .addParam("product_area", product_area)
+ .addParam("sort_seq", sort_seq)
+ .addParam("find_type", "4")
+ .addParam("flag", "18").process().uniqueResult(0);
+ if (ObjectUtil.isNotEmpty(right_point)) {
+ //判断对应缓存位是否存在需要末次下卷或者废箔下卷的任务
+ JSONObject task_jo = WQLObject.getWQLObject("sch_base_task").query("vehicle_code2 = '" + right_point.getString("vehicle_code") + "' AND is_delete = '0' AND task_status = '02'").uniqueResult(0);
+ if (ObjectUtil.isNotEmpty(task_jo)) {
+ if ("010404".equals(task_jo.getString("task_type"))) {
+ //出站
+ task_jo.put("task_status", TaskStatusEnum.START_AND_POINT.getCode());
+ task_jo.put("point_code2", jsonTask.getString("point_code1"));
+ task_jo.put("vehicle_code2", delivery_point.getString("vehicle_code"));
+ WQLObject.getWQLObject("sch_base_task").update(task_jo);
+ new CutTrussTask().immediateNotifyAcs(null);
+ }
+ }
+ }
+ }
+ }
+ }
+
}
}
diff --git a/lms/nladmin-ui/src/views/wms/basedata/master/storagevehicleinfo/index.vue b/lms/nladmin-ui/src/views/wms/basedata/master/storagevehicleinfo/index.vue
index 87ea9e338..fe96be16a 100644
--- a/lms/nladmin-ui/src/views/wms/basedata/master/storagevehicleinfo/index.vue
+++ b/lms/nladmin-ui/src/views/wms/basedata/master/storagevehicleinfo/index.vue
@@ -82,7 +82,7 @@
-
+
diff --git a/lms/nladmin-ui/src/views/wms/basedata/product/userArea/index.vue b/lms/nladmin-ui/src/views/wms/basedata/product/userArea/index.vue
index 556cca129..b040a61dc 100644
--- a/lms/nladmin-ui/src/views/wms/basedata/product/userArea/index.vue
+++ b/lms/nladmin-ui/src/views/wms/basedata/product/userArea/index.vue
@@ -115,7 +115,7 @@ export default {
level: 3,
currentId: 0, menuLoading: false, showButton: false,
menus: [], menuIds: [], depts: [], deptDatas: [], // 多选时使用
- tableData: [{ 'product_area': 'A1' }, { 'product_area': 'A2' }, { 'product_area': 'A3' }, { 'product_area': 'A4' }, { 'product_area': 'LK' }, { 'product_area': 'B1' }, { 'product_area': 'B2' }, { 'product_area': 'B3' }, { 'product_area': 'B4' }],
+ tableData: [{ 'product_area': 'A1' }, { 'product_area': 'A2' }, { 'product_area': 'A3' }, { 'product_area': 'A4' }, { 'product_area': 'LK' }, { 'product_area': 'B1' }, { 'product_area': 'B2' }, { 'product_area': 'B3' }, { 'product_area': 'B4' }, { 'product_area': 'BLK' }],
currentRow: null,
permission: {
add: ['admin', 'roles:add'],
diff --git a/lms/nladmin-ui/src/views/wms/basedata/st/struct/structattr.js b/lms/nladmin-ui/src/views/wms/basedata/st/struct/structattr.js
index 4ff5d7c18..444dc3dfc 100644
--- a/lms/nladmin-ui/src/views/wms/basedata/st/struct/structattr.js
+++ b/lms/nladmin-ui/src/views/wms/basedata/st/struct/structattr.js
@@ -32,17 +32,17 @@ export function changeActive(data) {
})
}
-export function oneCreate(data) {
+export function blurQuery(data) {
return request({
- url: 'api/structattr/oneCreate',
+ url: 'api/structattr/blurQuery',
method: 'post',
data
})
}
-export function blurQuery(data) {
+export function oneCreate(data) {
return request({
- url: 'api/structattr/blurQuery',
+ url: 'api/structattr/oneCreate',
method: 'post',
data
})