Browse Source

rev:wql改造

master
涂强 2 days ago
parent
commit
adb9359604
  1. 9
      lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/rest/SlittingproductionplanController.java
  2. 2
      lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/IPdmBiSlittingproductionplanService.java
  3. 36
      lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/impl/PdmBiSlittingproductionplanServiceImpl.java
  4. 4
      lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/IstIvtCutpointivtService.java
  5. 14
      lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/StIvtCutpointivtServiceImpl.java
  6. 71
      lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java
  7. 45
      lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java
  8. 59
      lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilServiceImpl.java
  9. 15
      lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/PrintService.java
  10. 112
      lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/PrintServiceImpl.java
  11. 8
      lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/controller/RawfoilWorkOrderController.java
  12. 2
      lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/RawfoilWorkOrderService.java
  13. 4
      lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/CoolPointIvtMapper.xml
  14. 2
      lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/RawfoilWorkOrderMapper.java
  15. 8
      lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/RawfoilWorkOrderMapper.xml
  16. 6
      lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dto/RawfoilWorkOrderDto.java
  17. 54
      lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/impl/RawfoilWorkOrderServiceImpl.java
  18. 172
      lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java
  19. 395
      lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CoolCutTask.java
  20. 32
      lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InCoolIvtTask.java
  21. 40
      lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InHotTask.java
  22. 26
      lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutHotTask.java
  23. 40
      lms/nladmin-ui/src/views/wms/pdm/order/rawfoilworkorder/index.vue
  24. 10
      lms/nladmin-ui/src/views/wms/pdm/order/rawfoilworkorder/rawfoilworkorder.js
  25. 21
      lms/nladmin-ui/src/views/wms/pdm/order/slittingplan/index.vue
  26. 9
      lms/nladmin-ui/src/views/wms/pdm/order/slittingplan/slittingproductionplan.js

9
lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/rest/SlittingproductionplanController.java

@ -7,11 +7,13 @@ import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproducti
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan;
import org.nl.common.domain.query.PageQuery;
import org.nl.modules.logging.annotation.Log;
import org.nl.wms.pdm.rawfoilworkorder.service.dao.RawfoilWorkOrder;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
@RestController
@ -103,4 +105,11 @@ public class SlittingproductionplanController {
biSlittingproductionplanService.setDirection(whereJson);
return new ResponseEntity<>(HttpStatus.OK);
}
@PostMapping("/print")
@Log("打印")
public ResponseEntity<Object> print( @RequestBody List<PdmBiSlittingproductionplan> list){
biSlittingproductionplanService.print(list);
return new ResponseEntity<>(HttpStatus.CREATED);
}
}

2
lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/IPdmBiSlittingproductionplanService.java

@ -187,4 +187,6 @@ public interface IPdmBiSlittingproductionplanService extends IService<PdmBiSlitt
* @param whereJson /
*/
void compelFinish(JSONObject whereJson);
void print(List<PdmBiSlittingproductionplan> list);
}

36
lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/impl/PdmBiSlittingproductionplanServiceImpl.java

@ -27,6 +27,8 @@ import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.wms.basedata.st.service.impl.UserAreaServiceImpl;
import org.nl.wms.ext.mes.service.LmsToMesService;
import org.nl.wms.pda.st.service.impl.PrintServiceImpl;
import org.nl.wms.pdm.rawfoilworkorder.service.dao.RawfoilWorkOrder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -415,4 +417,38 @@ public class PdmBiSlittingproductionplanServiceImpl extends ServiceImpl<PdmBiSli
tab.update(jsonObject);
}
}
@Override
public void print(List<PdmBiSlittingproductionplan> list) {
JSONObject print_info = WQLObject.getWQLObject("pdm_bi_printinfo").query("print_name = 'subvolume_tag'").uniqueResult(0);
for (int i = 0; i < list.size(); i++) {
PdmBiSlittingproductionplan pdmBiSlittingproductionplan = list.get(i);
JSONObject print_jo = new JSONObject();
print_jo.put("container_name", pdmBiSlittingproductionplan.getContainer_name());
if ("1".equals(pdmBiSlittingproductionplan.getOrder_type())) {
print_jo.put("parent_container_name", pdmBiSlittingproductionplan.getParent_container_name());
} else {
print_jo.put("parent_container_name", pdmBiSlittingproductionplan.getRestruct_container_name());
}
if ("1".equals(pdmBiSlittingproductionplan.getPaper_tube_or_frp())) {
print_jo.put("paper_tube_or_frp", pdmBiSlittingproductionplan.getPaper_tube_model());
} else {
print_jo.put("paper_tube_or_frp", pdmBiSlittingproductionplan.getFRP_model());
}
print_jo.put("split_breadth", pdmBiSlittingproductionplan.getSplit_breadth());
print_jo.put("resource_name", pdmBiSlittingproductionplan.getResource_name());
print_jo.put("order_type", pdmBiSlittingproductionplan.getOrder_type());
print_jo.put("pscn", pdmBiSlittingproductionplan.getPscn());
print_jo.put("print_type", print_info.getString("print_id"));
new PrintServiceImpl().subVolume_print(print_jo);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}

4
lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/IstIvtCutpointivtService.java

@ -60,6 +60,10 @@ public interface IstIvtCutpointivtService extends IService<StIvtCutpointivt> {
*/
StIvtCutpointivt getPintByPointCode(String code, boolean flag);
StIvtCutpointivt findByEmptyPointCode(String code);
StIvtCutpointivt findByFullPointCode(String code);
/**
* 通过外部设备码获取设备数据
* @param code ext_code

14
lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/StIvtCutpointivtServiceImpl.java

@ -92,6 +92,20 @@ public class StIvtCutpointivtServiceImpl extends ServiceImpl<StIvtCutpointivtMap
return stIvtCutpointivtMapper.selectOne(lam);
}
@Override
public StIvtCutpointivt findByFullPointCode(String code) {
LambdaQueryWrapper<StIvtCutpointivt> lam = new LambdaQueryWrapper<>();
lam.eq(StIvtCutpointivt::getFull_point_code, code);
return stIvtCutpointivtMapper.selectOne(lam);
}
@Override
public StIvtCutpointivt findByEmptyPointCode(String code) {
LambdaQueryWrapper<StIvtCutpointivt> lam = new LambdaQueryWrapper<>();
lam.eq(StIvtCutpointivt::getEmpty_point_code, code);
return stIvtCutpointivtMapper.selectOne(lam);
}
@Override
public StIvtCutpointivt getPintByExtCode(String code, boolean flag) {
LambdaQueryWrapper<StIvtCutpointivt> lam = new LambdaQueryWrapper<>();

71
lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java

@ -55,6 +55,7 @@ import org.redisson.api.RedissonClient;
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.Arrays;
@ -902,10 +903,10 @@ public class SlitterServiceImpl implements SlitterService {
.eq(MdPbPapervehicle::getRow_num, param.getString("row_num"))
.eq(MdPbPapervehicle::getCol_num, param.getString("col_num")));
if (ObjectUtil.isEmpty(mdPbPapervehicle)) {
log.warn("托盘:" + vehicleCode + "第" + param.getString("row_num")+"-"+param.getString("col_num") + "没数据!");
throw new BadRequestException("托盘:" + vehicleCode + "第" + param.getString("row_num")+"-"+param.getString("col_num") + "行没数据!");
log.warn("托盘:" + vehicleCode + "第" + param.getString("row_num") + "-" + param.getString("col_num") + "没数据!");
throw new BadRequestException("托盘:" + vehicleCode + "第" + param.getString("row_num") + "-" + param.getString("col_num") + "行没数据!");
}
log.debug("更新前" + vehicleCode + "数据:" + mdPbPapervehicle);
log.debug("更新前" + vehicleCode + "数据:" + mdPbPapervehicle);
if (mdPbPapervehicle != null || mdPbPapervehicle.getQty().intValue() > 0) {
boolean remove = papervehicleService.removeById(mdPbPapervehicle);
log.debug("删除0结果:" + vehicleCode + ":" + remove);
@ -2325,21 +2326,42 @@ public class SlitterServiceImpl implements SlitterService {
@Override
public JSONObject rollCacheManage(JSONObject param) {
// param: point_code、flag(1:无空轴,2:有空轴)
// param: point_code、flag(1:清除,2:有空轴)
String pointCode = param.getString("point_code");
if (ObjectUtil.isEmpty(pointCode)) {
throw new BadRequestException("请输入点位!");
}
String flag = param.getString("flag");
WQLObject coolTab = WQLObject.getWQLObject("st_ivt_coolpointivt");
JSONObject cool_jo = coolTab
.query("full_point_code = '" + pointCode + "' or empty_point_code = '" + pointCode + "'")
.uniqueResult(0);
if (ObjectUtil.isEmpty(cool_jo)) {
throw new BadRequestException("该暂存架不存在!");
}
cool_jo.put("empty_point_status", "1".equals(flag) ? "01" : "02");
cool_jo.put("update_optid", SecurityUtils.getCurrentUserId());
cool_jo.put("update_optname", SecurityUtils.getCurrentNickName());
cool_jo.put("update_time", DateUtil.now());
coolTab.update(cool_jo);
if ("1".equals(flag)) {
StIvtCutpointivt emptyPoint = cutpointivtService.findByEmptyPointCode(pointCode);
StIvtCutpointivt fullPoint = cutpointivtService.findByFullPointCode(pointCode);
if (ObjectUtil.isNotEmpty(emptyPoint)) {
emptyPoint.setEmpty_point_status("01");
emptyPoint.setUpdate_optid(Long.getLong(SecurityUtils.getCurrentUserId()));
emptyPoint.setUpdate_optname(SecurityUtils.getCurrentNickName());
emptyPoint.setUpdate_time(DateUtil.now());
cutpointivtService.update(emptyPoint);
} else if (ObjectUtil.isNotEmpty(fullPoint)) {
fullPoint.setFull_point_status("01");
fullPoint.setContainer_name("");
fullPoint.setUpdate_optid(Long.getLong(SecurityUtils.getCurrentUserId()));
fullPoint.setUpdate_optname(SecurityUtils.getCurrentNickName());
fullPoint.setUpdate_time(DateUtil.now());
cutpointivtService.updateById(fullPoint);
} else {
throw new BadRequestException("不存在该点位!");
}
} else {
StIvtCutpointivt deviceCode = cutpointivtService.findByEmptyPointCode(pointCode);
if (ObjectUtil.isEmpty(deviceCode)) {
throw new BadRequestException("找不到点位编码是:" + pointCode + "的分切点位!");
}
deviceCode.setEmpty_point_status("02");
deviceCode.setUpdate_optid(Long.getLong(SecurityUtils.getCurrentUserId()));
deviceCode.setUpdate_optname(SecurityUtils.getCurrentNickName());
deviceCode.setUpdate_time(DateUtil.now());
cutpointivtService.update(deviceCode);
}
JSONObject res = new JSONObject();
res.put("status", HttpStatus.HTTP_OK);
res.put("message", "点位更新成功!");
@ -2352,14 +2374,14 @@ public class SlitterServiceImpl implements SlitterService {
String pointCode = param.getString("point_code");
JSONObject res = new JSONObject();
JSONObject data = new JSONObject();
WQLObject coolTab = WQLObject.getWQLObject("st_ivt_coolpointivt");
JSONObject cool_jo = coolTab
.query("full_point_code = '" + pointCode + "' or empty_point_code = '" + pointCode + "'")
.uniqueResult(0);
if (ObjectUtil.isEmpty(cool_jo)) {
throw new BadRequestException("该暂存架不存在!");
}
data.put("msg", "该位置 " + ("01".equals(cool_jo.getString("empty_point_status")) ? "没有空轴" : "有空轴"));
if (ObjectUtil.isEmpty(pointCode)) {
throw new BadRequestException("请输入点位!");
}
StIvtCutpointivt deviceCode = cutpointivtService.findByEmptyPointCode(pointCode);
if (ObjectUtil.isEmpty(deviceCode)) {
throw new BadRequestException("该点位不存在!");
}
data.put("msg", "该位置 " + ("01".equals(deviceCode.getEmpty_point_status()) ? "没有空轴" : "有空轴"));
res.put("status", HttpStatus.HTTP_OK);
res.put("data", data);
return res;
@ -2483,6 +2505,7 @@ public class SlitterServiceImpl implements SlitterService {
}
return res;
}
@Override
@Transactional(rollbackFor = Exception.class)
public JSONObject downBait(JSONObject param) {

45
lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java

@ -7,6 +7,8 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.utils.SecurityUtils;
@ -21,6 +23,10 @@ import org.nl.wms.ext.acs.service.impl.WmsToAcsServiceImpl;
import org.nl.wms.pda.mps.eum.RegionTypeEnum;
import org.nl.wms.pda.mps.service.BakingService;
import org.nl.wms.pda.mps.service.HandleBakingService;
import org.nl.wms.pdm.rawfoilworkorder.service.dao.CoolPointIvt;
import org.nl.wms.pdm.rawfoilworkorder.service.dao.mapper.CoolPointIvtMapper;
import org.nl.wms.pdm.rawfoilworkorder.service.dao.mapper.RawfoilWorkOrderMapper;
import org.nl.wms.pdm.rawfoilworkorder.service.dao.mapper.SbPointIvtMapper;
import org.nl.wms.sch.tasks.CutConveyorTask;
import org.nl.wms.sch.tasks.InCoolIvtTask;
import org.nl.wms.sch.tasks.InHotTask;
@ -38,6 +44,12 @@ public class BakingServiceImpl implements BakingService {
@Autowired
private RedisUtils redisUtils;
@Autowired
private CoolPointIvtMapper coolPointIvtMapper;
@Autowired
private RawfoilWorkOrderMapper rawfoilWorkOrderMapper;
@Autowired
private SbPointIvtMapper sbPointIvtMapper;
/*
* 业务流程
@ -122,7 +134,11 @@ public class BakingServiceImpl implements BakingService {
*/
JSONObject jsonPointZc = pointTab.query("point_code = '" + point_code1 + "' AND point_type = '4'").uniqueResult(0);
JSONObject cool_jo = coolIvtTab.query("point_code = '" + point_code1 + "'").uniqueResult(0);
String point_type = "1";
// 冷却点
JSONObject jsonCoolIvt = coolIvtTab.query("full_point_code = '" + point_code1 + "' and is_used = '1' AND point_type = '" + point_type + "'").uniqueResult(0);
// CoolPointIvt coolPointIvt = coolPointIvtMapper.selectOne(new LambdaQueryWrapper<CoolPointIvt>()
// .eq(ObjectUtil.isNotEmpty(point_code1), CoolPointIvt::getPoint_code, point_code1));
if (ObjectUtil.isNotEmpty(jsonPointZc)) {
if (!in_area_id.contains(jsonPointZc.getString("product_area"))) {
throw new BadRequestException("当前登录人员暂无【" + jsonPointZc.getString("product_area") + "】操作权限");
@ -158,11 +174,7 @@ public class BakingServiceImpl implements BakingService {
// 2.创建暂存位 --> 烘烤区任务
JSONObject param = new JSONObject();
param.put("type", "2"); // 1- 冷却区入烘箱 2- 暂存位入烘箱
if (ObjectUtil.isNotEmpty(cool_jo)) {
param.put("point_code1", cool_jo.getString("point_code"));
} else {
param.put("point_code1", point_code1);
}
param.put("point_code1", point_code1);
param.put("point_code2", jsonHotIvt.getString("point_code"));
param.put("material_code", container_name);
param.put("product_area", jsonPointZc.getString("product_area"));
@ -188,19 +200,12 @@ public class BakingServiceImpl implements BakingService {
hotParam.put("temperature", temperature);
hotParam.put("oven_time", hours);
this.createHotIoMst(hotParam);
} else if (ObjectUtil.isNotEmpty(cool_jo)) {
} else if (ObjectUtil.isNotEmpty(jsonCoolIvt)) {
/*
* 冷却区入烘箱
*/
// hint: 两个都找不到点位,可能是使用了满轴位请求,查找冷却区域
// 1.根据冷却区此母卷的点位找到对应的暂存区、找到空位
// 根据标箔/锂电判断类型
String point_type = "1";
// 冷却点
JSONObject jsonCoolIvt = coolIvtTab.query("full_point_code = '" + point_code1 + "' and is_used = '1' AND point_type = '" + point_type + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(jsonCoolIvt)) {
throw new BadRequestException("请扫描正确的冷却区或对接点位!");
}
String product_area = jsonCoolIvt.getString("product_area"); // 生产区域
String point_location = jsonCoolIvt.getString("point_location"); // 位置
@ -508,7 +513,7 @@ public class BakingServiceImpl implements BakingService {
}
// 1.获取此暂存位的生产区域和上下位置
JSONObject jsonPoint = pointTab.query("point_code = '" + point_code1 + "' and point_type = '5'").uniqueResult(0);
JSONObject jsonPoint = pointTab.query("point_code = '" + point_code1 + "' and point_type = '5'").uniqueResult(0);
if (ObjectUtil.isEmpty(jsonPoint)) {
throw new BadRequestException("请扫描点位类型为出箱的烘箱对接位!");
}
@ -786,7 +791,7 @@ public class BakingServiceImpl implements BakingService {
}
JSONObject jsonPointZc = pointTab.query("point_code = '" + point_code1 + "' and point_type = '5'").uniqueResult(0);
JSONObject jsonPointZc = pointTab.query("point_code = '" + point_code1 + "' and point_type = '5'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(jsonPointZc)) {
if (!in_area_id.contains(jsonPointZc.getString("product_area"))) {
@ -880,12 +885,12 @@ public class BakingServiceImpl implements BakingService {
throw new BadRequestException("未查询到母卷号:" + container_name + "对应的生箔机台编号!");
}
// if (StrUtil.equals("1", sb_jo.getString("mes_used")) && !"1".equals(raw_jo.getString("is_instor"))) {
// throw new BadRequestException("该母卷在MES上未进行决策入半成品库,不允许进行入冷却操作!");
// }
if (StrUtil.equals("1", sb_jo.getString("mes_used")) && !"1".equals(raw_jo.getString("is_instor"))) {
throw new BadRequestException("该母卷在MES上未进行决策入半成品库,不允许进行入冷却操作!");
}
// 1.获取此暂存位的生产区域和上下位置
JSONObject jsonPoint = pointTab.query("point_code = '" + point_code1 + "' and point_type = '5'").uniqueResult(0);
JSONObject jsonPoint = pointTab.query("point_code = '" + point_code1 + "' and point_type = '5'").uniqueResult(0);
if (ObjectUtil.isEmpty(jsonPoint)) {
throw new BadRequestException("请扫描点位类型为出箱的烘箱对接位!");
}

59
lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilServiceImpl.java

@ -36,6 +36,7 @@ import org.nl.wms.pdm.rawfoilworkorder.service.dao.mapper.CoolPointIvtMapper;
import org.nl.wms.pdm.rawfoilworkorder.service.dao.mapper.RawfoilWorkOrderMapper;
import org.nl.wms.pdm.rawfoilworkorder.service.dao.mapper.SbPointIvtMapper;
import org.nl.wms.pdm.rawfoilworkorder.service.dto.CoolPointIvtDto;
import org.nl.wms.pdm.rawfoilworkorder.service.dto.RawfoilWorkOrderDto;
import org.nl.wms.sch.service.PointService;
import org.nl.wms.sch.tasks.CallEmpReelTask;
import org.springframework.beans.factory.annotation.Autowired;
@ -157,8 +158,8 @@ public class RawFoilServiceImpl implements RawFoilService {
// if (ObjectUtil.isNotEmpty(in_area_id)) {
// map.put("in_area_id", in_area_id);
// }
List<RawfoilWorkOrder> rawfoilWorkOrderList = rawfoilWorkOrderMapper.queryRawFoilList(map);
PageInfo<RawfoilWorkOrder> rawfoilWorkOrderPageInfo = new PageInfo<>(rawfoilWorkOrderList);
List<RawfoilWorkOrderDto> rawfoilWorkOrderList = rawfoilWorkOrderMapper.queryRawFoilList(map);
PageInfo<RawfoilWorkOrderDto> rawfoilWorkOrderPageInfo = new PageInfo<>(rawfoilWorkOrderList);
JSONObject jo = new JSONObject();
jo.put("data", rawfoilWorkOrderList);
jo.put("size", rawfoilWorkOrderPageInfo.getTotal());
@ -258,6 +259,7 @@ public class RawFoilServiceImpl implements RawFoilService {
// 更新工单状态为确认下卷
rawfoilWorkOrder.setStatus("20");
rawfoilWorkOrder.setUpdate_time(DateUtil.now());
rawfoilWorkOrderMapper.updateById(rawfoilWorkOrder);
JSONObject jo = new JSONObject();
@ -289,6 +291,7 @@ public class RawFoilServiceImpl implements RawFoilService {
RawfoilWorkOrder rawfoilWorkOrder = rawfoilWorkOrderMapper.selectOne(new LambdaQueryWrapper<RawfoilWorkOrder>()
.eq(ObjectUtil.isNotEmpty(raw_jo.getString("workorder_id")), RawfoilWorkOrder::getWorkorder_id, raw_jo.getString("workorder_id")));
rawfoilWorkOrder.setStatus("10");
rawfoilWorkOrder.setUpdate_time(DateUtil.now());
rawfoilWorkOrderMapper.updateById(rawfoilWorkOrder);
}
JSONObject jo = new JSONObject();
@ -298,20 +301,22 @@ public class RawFoilServiceImpl implements RawFoilService {
@Override
public JSONObject start(JSONObject whereJson) {
WQLObject stIvtCoolRegionIoService = WQLObject.getWQLObject("PDM_BI_RawFoilWorkOrder"); // 生箔工单表
WQLObject pointTab = WQLObject.getWQLObject("ST_IVT_SbPointIvt");
JSONObject raw_jo = whereJson.getJSONObject("raw_jo");
if (ObjectUtil.isEmpty(raw_jo)){
if (ObjectUtil.isEmpty(raw_jo)) {
throw new BadRequestException("生箔工单不能为空!");
}
JSONObject jsonRaw = stIvtCoolRegionIoService.query("workorder_id = '" + raw_jo.getString("workorder_id") + "'").uniqueResult(0);
if (!StrUtil.equals(jsonRaw.getString("status"), "00")) {
RawfoilWorkOrder rawfoilWorkOrder = rawfoilWorkOrderMapper.selectOne(new LambdaQueryWrapper<RawfoilWorkOrder>()
.eq(ObjectUtil.isNotEmpty(raw_jo.getString("workorder_id")), RawfoilWorkOrder::getWorkorder_id, raw_jo.getString("workorder_id")));
if (!StrUtil.equals(rawfoilWorkOrder.getStatus(), "00")) {
throw new BadRequestException("工单状态不为初始化");
}
JSONObject jsonPoint = pointTab.query("ext_code ='" + jsonRaw.getString("resource_name") + "'").uniqueResult(0);
SbPointIvt sbPointIvt = sbPointIvtMapper.selectOne(new LambdaQueryWrapper<SbPointIvt>()
.eq(ObjectUtil.isNotEmpty(rawfoilWorkOrder.getResource_name()), SbPointIvt::getExt_code, rawfoilWorkOrder.getResource_name()));
if (ObjectUtil.isEmpty(sbPointIvt)) {
throw new BadRequestException("点位:" + rawfoilWorkOrder.getResource_name() + "生箔设备不存在");
}
//查询该生箔工单是否存在未完成的任务
String container_name = raw_jo.getString("container_name");
@ -320,18 +325,18 @@ public class RawFoilServiceImpl implements RawFoilService {
if (ObjectUtil.isNotEmpty(task_jo)) {
throw new BadRequestException("该生箔工单存在未完成的任务,请先完成任务!");
}
if (StrUtil.equals("01", jsonPoint.getString("full_point_status")) && StrUtil.equals("02", jsonPoint.getString("empty_point_status"))) {
if (StrUtil.equals("01", sbPointIvt.getFull_point_status()) && StrUtil.equals("02", sbPointIvt.getEmpty_point_status())) {
//更新点位状态
jsonPoint.put("full_point_status", "02");
jsonPoint.put("empty_point_status", "01");
pointTab.update(jsonPoint);
jsonRaw.put("status", "30");
jsonRaw.put("realend_time", DateUtil.now());
jsonRaw.put("finish_type", "02");
stIvtCoolRegionIoService.update(jsonRaw);
sbPointIvt.setFull_point_status("02");
sbPointIvt.setEmpty_point_status("01");
sbPointIvtMapper.updateById(sbPointIvt);
rawfoilWorkOrder.setStatus("30");
rawfoilWorkOrder.setFinish_type("02");
rawfoilWorkOrder.setUpdate_time(DateUtil.now());
rawfoilWorkOrderMapper.updateById(rawfoilWorkOrder);
} else {
throw new BadRequestException("当前生箔机:" + jsonPoint.getString("ext_code") + "不为满轴位为空且空轴位有轴的状态!");
throw new BadRequestException("当前生箔机:" + sbPointIvt.getExt_code() + "不为满轴位为空且空轴位有轴的状态!");
}
@ -387,6 +392,13 @@ public class RawFoilServiceImpl implements RawFoilService {
map.put("product_area", stIvtSbpointivt.getProduct_area());
map.put("point_location", stIvtSbpointivt.getPoint_location());
map.put("point_type", "1");
if ("1".equals(type)) {
map.put("empty_point_status", "02");
map.put("full_point_status", "01");
} else {
map.put("empty_point_status", "01");
map.put("full_point_status", "01");
}
List<CoolPointIvt> coolPointIvtList = coolPointIvtMapper.queryCoolPointIvt(map);
String start_pint_code = "";
@ -453,6 +465,8 @@ public class RawFoilServiceImpl implements RawFoilService {
JSONObject map = new JSONObject();
map.put("product_area", stIvtSbpointivt.getProduct_area());
map.put("point_location", stIvtSbpointivt.getPoint_location());
map.put("empty_point_status", "02");
map.put("full_point_status", "01");
List<CoolPointIvt> coolPointIvtList = coolPointIvtMapper.queryCoolPointIvt(map);
String start_pint_code = "";
//如果没找到则继续找下一节点
@ -493,15 +507,16 @@ public class RawFoilServiceImpl implements RawFoilService {
List<RawfoilWorkOrder> rawfoilWorkOrderList = rawfoilWorkOrderMapper.selectList(new LambdaQueryWrapper<RawfoilWorkOrder>()
.eq(ObjectUtil.isNotEmpty(stIvtSbpointivt.getExt_code()), RawfoilWorkOrder::getResource_name, stIvtSbpointivt.getExt_code())
.eq(RawfoilWorkOrder::getStatus, "30"));
if (CollectionUtil.isEmpty(rawfoilWorkOrderList)) {
throw new BadRequestException("工单状态不为开始生产");
if (rawfoilWorkOrderList.size() > 0) {
throw new BadRequestException("该机台已经存在开始生产的工单,请先维护再重试!");
}
if (StrUtil.equals("02", stIvtSbpointivt.getEmpty_point_status()) && StrUtil.equals("01", stIvtSbpointivt.getFull_point_status())) {
JSONObject map = new JSONObject();
map.put("product_area", stIvtSbpointivt.getProduct_area());
map.put("point_location", stIvtSbpointivt.getPoint_location());
map.put("empty_point_status", "01");
map.put("full_point_status", "01");
List<CoolPointIvt> coolPointIvtList = coolPointIvtMapper.queryCoolPointIvt(map);
String next_pint_code = "";

15
lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/PrintService.java

@ -50,6 +50,21 @@ public interface PrintService {
*/
public JSONObject gx_print(JSONObject whereJson);
/**
* 母卷打印
* @param whereJson
* @return
*/
public JSONObject parentVolume_print(JSONObject whereJson);
/**
* 子卷打印
* @param whereJson
* @return
*/
public JSONObject subVolume_print(JSONObject whereJson);
/**
* 获取单据类型
*

112
lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/PrintServiceImpl.java

@ -512,6 +512,118 @@ public class PrintServiceImpl implements PrintService {
return jo;
}
@Override
public JSONObject parentVolume_print(JSONObject whereJson) {
JSONObject jo = new JSONObject();
String container_name = jo.getString("container_name");
String resource_name = jo.getString("resource_name");
String theory_height = jo.getString("theory_height");
String description = jo.getString("description");
String pscn = jo.getString("pscn");
WQLObject printTab = WQLObject.getWQLObject("pdm_bi_printinfo");
// 生成txt文件
JSONObject jsonPrint = printTab.query("print_id = '" + whereJson.getString("print_type") + "'").uniqueResult(0);
//10.1.3.21/LMSPrinter/
String time = String.valueOf(DateUtil.current());
String filePath = jsonPrint.getString("print_route") +time+"外包标签.txt";
FileWriter fw = null;
try {
File file = new File(filePath);
if (!file.exists()) {
file.createNewFile();
}
fw = new FileWriter(filePath);
OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(file), "utf-8");
BufferedWriter bw = new BufferedWriter(write);
bw.write("container_name,resource_name,theory_height,description,pscn\n");
bw.write(container_name + ","
+ resource_name + ","
+ theory_height + ","
+ description + ","
+ pscn + "\n"
);
bw.close();
jo.put("message", "打印成功!");
log.info(DateUtil.now()+"打印成功!");
} catch (Exception e) {
jo.put("message", "打印失败!" + e.getMessage());
log.info(DateUtil.now()+"1打印失败!");
} finally {
try {
if(fw != null){
fw.close();
}
} catch (Exception e) {
jo.put("message", "打印失败!" + e.getMessage());
log.info(DateUtil.now()+"2打印失败!");
}
}
return jo;
}
@Override
public JSONObject subVolume_print(JSONObject whereJson) {
JSONObject jo = new JSONObject();
String container_name = jo.getString("container_name");
String parent_container_name = jo.getString("parent_container_name");
String paper_tube_or_frp = jo.getString("paper_tube_or_frp");
String split_breadth = jo.getString("split_breadth");
String resource_name = jo.getString("resource_name");
String order_type = jo.getString("order_type");
String pscn = jo.getString("pscn");
WQLObject printTab = WQLObject.getWQLObject("pdm_bi_printinfo");
// 生成txt文件
JSONObject jsonPrint = printTab.query("print_id = '" + whereJson.getString("print_type") + "'").uniqueResult(0);
//10.1.3.21/LMSPrinter/
String time = String.valueOf(DateUtil.current());
String filePath = jsonPrint.getString("print_route") +time+"外包标签.txt";
FileWriter fw = null;
try {
File file = new File(filePath);
if (!file.exists()) {
file.createNewFile();
}
fw = new FileWriter(filePath);
OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(file), "utf-8");
BufferedWriter bw = new BufferedWriter(write);
bw.write("container_name,parent_container_name,paper_tube_or_frp,order_type,split_breadth,resource_name,pscn\n");
bw.write(container_name + ","
+ parent_container_name + ","
+ paper_tube_or_frp + ","
+ order_type + ","
+ split_breadth + ","
+ resource_name + ","
+ pscn + "\n"
);
bw.close();
jo.put("message", "打印成功!");
log.info(DateUtil.now()+"打印成功!");
} catch (Exception e) {
jo.put("message", "打印失败!" + e.getMessage());
log.info(DateUtil.now()+"1打印失败!");
} finally {
try {
if(fw != null){
fw.close();
}
} catch (Exception e) {
jo.put("message", "打印失败!" + e.getMessage());
log.info(DateUtil.now()+"2打印失败!");
}
}
return jo;
}
@Override
public JSONObject printType(JSONObject whereJson) {
JSONArray rows = WQL.getWO("PDA_ST_01").addParam("flag", "6").process().getResultJSONArray(0);

8
lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/controller/RawfoilWorkOrderController.java

@ -13,6 +13,7 @@ import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
@ -78,4 +79,11 @@ public class RawfoilWorkOrderController {
rawfoilworkorderService.confirm(whereJson);
return new ResponseEntity<>(HttpStatus.OK);
}
@PostMapping("/print")
@Log("打印")
public ResponseEntity<Object> print( @RequestBody List<RawfoilWorkOrder> list){
rawfoilworkorderService.print(list);
return new ResponseEntity<>(HttpStatus.CREATED);
}
}

2
lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/RawfoilWorkOrderService.java

@ -73,4 +73,6 @@ public interface RawfoilWorkOrderService extends IService<RawfoilWorkOrder> {
* @param whereJson /
*/
void confirm(JSONObject whereJson);
void print(List<RawfoilWorkOrder> list);
}

4
lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/CoolPointIvtMapper.xml

@ -10,8 +10,8 @@
FROM
ST_IVT_CoolPointIvt ivt
WHERE
ivt.empty_point_status = '02'
AND ivt.full_point_status = '01'
ivt.empty_point_status = #{map.empty_point_status}
AND ivt.full_point_status = #{map.full_point_status}
AND ivt.is_used = '1'
<choose>
<when test="map.getString('point_type') != null and map.getString('point_type') != ''">

2
lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/RawfoilWorkOrderMapper.java

@ -16,7 +16,7 @@ public interface RawfoilWorkOrderMapper extends BaseMapper<RawfoilWorkOrder> {
List<RawfoilWorkOrder> queryRawFoil(@Param("map") JSONObject map);
List<RawfoilWorkOrder> queryRawFoilList(@Param("map") JSONObject map);
List<RawfoilWorkOrderDto> queryRawFoilList(@Param("map") JSONObject map);
}

8
lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/RawfoilWorkOrderMapper.xml

@ -22,7 +22,7 @@
<if test="rawfoilWorkOrderDto.begin_time!=null">and der.create_time >= #{rawfoilWorkOrderDto.begin_time}</if>
<if test="rawfoilWorkOrderDto.end_time!=null">and der.create_time &lt;= #{rawfoilWorkOrderDto.end_time}</if>
</where>
order by der.container_name
order by der.realstart_time,der.container_name
</select>
<select id="queryRawFoil" resultType="org.nl.wms.pdm.rawfoilworkorder.service.dao.RawfoilWorkOrder"
parameterType="com.alibaba.fastjson.JSONObject">
@ -46,10 +46,10 @@
AND der.product_area = #{map.product_area}
</if>
</select>
<select id="queryRawFoilList" resultType="org.nl.wms.pdm.rawfoilworkorder.service.dao.RawfoilWorkOrder"
<select id="queryRawFoilList" resultType="org.nl.wms.pdm.rawfoilworkorder.service.dto.RawfoilWorkOrderDto"
parameterType="com.alibaba.fastjson.JSONObject">
SELECT
CASE der.STATUS
CASE der.status
WHEN '00' THEN '初始化'
WHEN '10' THEN '配送中'
WHEN '20' THEN '准备就绪'
@ -85,7 +85,7 @@
<if test="map.getString('product_area') != null and map.getString('product_area') != ''">
AND der.product_area = #{map.product_area}
</if>
order by der.container_name
order by der.realstart_time,der.container_name
</select>
</mapper>

6
lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dto/RawfoilWorkOrderDto.java

@ -25,6 +25,12 @@ public class RawfoilWorkOrderDto extends RawfoilWorkOrder {
*/
private String end_time;
private String status_name;
private String point_location;
private String point_code;
/**
* 人员对应的区域
*/

54
lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/impl/RawfoilWorkOrderServiceImpl.java

@ -13,6 +13,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.b_lms.bst.ivt.paper.service.dao.MdPbPaper;
import org.nl.b_lms.sch.point.dao.StIvtSbpointivt;
import org.nl.b_lms.sch.point.dao.mapper.StIvtSbpointivtMapper;
import org.nl.b_lms.sch.task.dao.SchBaseTask;
@ -26,6 +27,7 @@ import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.wms.basedata.st.service.impl.UserAreaServiceImpl;
//import org.nl.wms.basedata.st.userarea.service.IUserAreaPermissionService;
//import org.nl.wms.basedata.st.userstor.service.dto.UserStorDto;
import org.nl.wms.pda.st.service.impl.PrintServiceImpl;
import org.nl.wms.pdm.rawfoilworkorder.service.RawfoilWorkOrderService;
import org.nl.wms.pdm.rawfoilworkorder.service.dao.RawfoilWorkOrder;
import org.nl.wms.pdm.rawfoilworkorder.service.dao.mapper.RawfoilWorkOrderMapper;
@ -129,6 +131,7 @@ public class RawfoilWorkOrderServiceImpl extends ServiceImpl<RawfoilWorkOrderMap
}
dto.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextId());
dto.setCreate_id(currentUserId);
dto.setCreate_name(nickName);
@ -137,10 +140,15 @@ public class RawfoilWorkOrderServiceImpl extends ServiceImpl<RawfoilWorkOrderMap
dto.setUpdate_time(now);
dto.setCreate_time(now);
dto.setOrder_type("2");
dto.setAgvno("0");
dto.setIs_delete("0");
dto.setRealstart_time(DateUtil.now());
dto.setProduct_area(stIvtSbpointivt.getProduct_area());
dto.setPoint_code(stIvtSbpointivt.getPoint_code());
dto.setStatus("00");
if (ObjectUtil.isEmpty(dto.getProductin_qty())){
dto.setProductin_qty(BigDecimal.valueOf(0));
}
rawfoilWorkOrderMapper.insert(dto);
}
@ -153,30 +161,10 @@ public class RawfoilWorkOrderServiceImpl extends ServiceImpl<RawfoilWorkOrderMap
throw new BadRequestException("被删除或无权限,操作失败!");
}
String container_name = dto.getContainer_name();
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
RawfoilWorkOrder rawfoilWorkOrder = rawfoilWorkOrderMapper.selectOne(new QueryWrapper<RawfoilWorkOrder>()
.eq("container_name",container_name));
if (ObjectUtil.isNotEmpty(rawfoilWorkOrder)) {
throw new BadRequestException("母卷号已存在");
}
StIvtSbpointivt stIvtSbpointivt = stIvtSbpointivtMapper.selectOne(new LambdaQueryWrapper<>(StIvtSbpointivt.class)
.eq(StIvtSbpointivt::getExt_code,dto.getResource_name()));
if (ObjectUtil.isEmpty(stIvtSbpointivt)) {
throw new BadRequestException("点位设备不存在");
}
// Materialbase materialbase = materialbaseMapper.selectOne(new LambdaQueryWrapper<>(Materialbase.class)
// .eq(Materialbase::getMaterial_code,dto.getProduct_name())
// .eq(Materialbase::getIs_delete,"0")
// .eq(Materialbase::getIs_used,"1"));
// if (ObjectUtil.isEmpty(materialbase)) {
// throw new BadRequestException("物料不存在");
// }
WQLObject materTab = WQLObject.getWQLObject("md_me_materialbase");
JSONObject josnMater = materTab.query("material_code ='" + dto.getProduct_name() + "' and is_delete = '0' and is_used = '1'").uniqueResult(0);
if (ObjectUtil.isEmpty(josnMater)) {
@ -186,9 +174,6 @@ public class RawfoilWorkOrderServiceImpl extends ServiceImpl<RawfoilWorkOrderMap
dto.setUpdate_time(now);
dto.setUpdate_optid(currentUserId);
dto.setUpdate_optname(nickName);
dto.setProduct_area(stIvtSbpointivt.getProduct_area());
dto.setPoint_code(stIvtSbpointivt.getPoint_code());
rawfoilWorkOrderMapper.updateById(dto);
}
@ -248,4 +233,27 @@ public class RawfoilWorkOrderServiceImpl extends ServiceImpl<RawfoilWorkOrderMap
rawfoilWorkOrderMapper.updateById(rawfoilWorkOrder);
}
@Override
public void print(List<RawfoilWorkOrder> list) {
JSONObject print_info = WQLObject.getWQLObject("pdm_bi_printinfo").query("print_name = 'parentvolume_tag'").uniqueResult(0);
for(int i=0;i<list.size();i++){
RawfoilWorkOrder rawfoilWorkOrder = list.get(i);
JSONObject print_jo = new JSONObject();
print_jo.put("container_name", rawfoilWorkOrder.getContainer_name());
print_jo.put("resource_name", rawfoilWorkOrder.getResource_name());
print_jo.put("theory_height", rawfoilWorkOrder.getTheory_height());
print_jo.put("description", rawfoilWorkOrder.getDescription());
print_jo.put("pscn", rawfoilWorkOrder.getPscn());
print_jo.put("print_type", print_info.getString("print_id"));
new PrintServiceImpl().parentVolume_print(print_jo);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}

172
lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java

@ -7,6 +7,7 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.utils.SecurityUtils;
@ -17,12 +18,20 @@ import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.modules.wql.util.SpringContextHolder;
import org.nl.wms.pda.mps.eum.RegionTypeEnum;
import org.nl.wms.pda.mps.service.impl.BakingServiceImpl;
import org.nl.wms.pdm.rawfoilworkorder.service.dao.CoolPointIvt;
import org.nl.wms.pdm.rawfoilworkorder.service.dao.RawfoilWorkOrder;
import org.nl.wms.pdm.rawfoilworkorder.service.dao.SbPointIvt;
import org.nl.wms.pdm.rawfoilworkorder.service.dao.mapper.CoolPointIvtMapper;
import org.nl.wms.pdm.rawfoilworkorder.service.dao.mapper.RawfoilWorkOrderMapper;
import org.nl.wms.pdm.rawfoilworkorder.service.dao.mapper.SbPointIvtMapper;
import org.nl.wms.sch.AcsTaskDto;
import org.nl.wms.sch.manage.AbstractAcsTask;
import org.nl.wms.sch.manage.TaskStatusEnum;
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.HashMap;
import java.util.List;
@ -37,6 +46,14 @@ import java.util.List;
@Slf4j
public class CallEmpReelTask extends AbstractAcsTask {
private final String THIS_CLASS = CallEmpReelTask.class.getName();
@Autowired
RawfoilWorkOrderMapper rawfoilWorkOrderMapper;
@Autowired
SbPointIvtMapper sbPointIvtMapper;
@Autowired
CoolPointIvtMapper coolPointIvtMapper;
@Override
public List<AcsTaskDto> addTask() {
@ -87,18 +104,25 @@ public class CallEmpReelTask extends AbstractAcsTask {
String currentUsername = SecurityUtils.getCurrentUsername();
//更新车号和重量
RawfoilWorkOrder rawfoilWorkOrder = null;
if (ObjectUtil.isNotEmpty(jsonTask.getString("material_code"))) {
rawfoilWorkOrder = rawfoilWorkOrderMapper.selectOne(new LambdaQueryWrapper<RawfoilWorkOrder>()
.eq(RawfoilWorkOrder::getContainer_name, jsonTask.getString("material_code"))
.ne(RawfoilWorkOrder::getStatus, "40")
.eq(RawfoilWorkOrder::getIs_delete, "0"));
}
String car_no = taskObj.getString("car_no");
if (StrUtil.isNotEmpty(car_no)) {
JSONObject update_jo = new JSONObject();
update_jo.put("agvno", car_no);
rawTab.update(update_jo, "container_name ='" + jsonTask.getString("material_code") + "' AND status <> '09' AND is_delete = '0'").uniqueResult(0);
if (StrUtil.isNotEmpty(car_no) && rawfoilWorkOrder != null) {
rawfoilWorkOrder.setAgvno(car_no);
rawfoilWorkOrder.setUpdate_time(DateUtil.now());
rawfoilWorkOrderMapper.updateById(rawfoilWorkOrder);
}
// 更新生箔工单称重信息
String weight = taskObj.getString("weight");
if (ObjectUtil.isNotEmpty(weight)) {
JSONObject update_jo = new JSONObject();
update_jo.put("productin_qty", weight);
rawTab.update(update_jo, "container_name ='" + jsonTask.getString("material_code") + "' AND status <> '09' AND is_delete = '0'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(weight) && rawfoilWorkOrder != null) {
rawfoilWorkOrder.setProductin_qty(new BigDecimal(weight));
rawfoilWorkOrder.setUpdate_time(DateUtil.now());
rawfoilWorkOrderMapper.updateById(rawfoilWorkOrder);
}
if (StrUtil.equals(status, "0")) {
// 更新删除字段
@ -107,11 +131,12 @@ public class CallEmpReelTask extends AbstractAcsTask {
taskTab.update(jsonTask);
// 更新生箔工单状态为初始化、清除称重信息
JSONObject jsonRaw = rawTab.query("container_name ='" + jsonTask.getString("material_code") + "' AND status <> '09' AND is_delete = '0'").uniqueResult(0);
JSONObject update_jo = new JSONObject();
update_jo.put("status", "00");
update_jo.put("productin_qty", 0);
rawTab.update(update_jo, "container_name ='" + jsonTask.getString("material_code") + "' AND status <> '09' AND is_delete = '0'");
if (rawfoilWorkOrder != null) {
rawfoilWorkOrder.setStatus("00");
rawfoilWorkOrder.setProductin_qty(new BigDecimal(0));
rawfoilWorkOrder.setUpdate_time(DateUtil.now());
rawfoilWorkOrderMapper.updateById(rawfoilWorkOrder);
}
}
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
@ -122,104 +147,109 @@ public class CallEmpReelTask extends AbstractAcsTask {
}
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
// 更改任务状态为完成
jsonTask.put("task_status", TaskStatusEnum.FINISHED.getCode());
jsonTask.put("update_optid", SecurityUtils.getCurrentUserId());
jsonTask.put("update_optname", SecurityUtils.getCurrentUsername());
jsonTask.put("update_time", DateUtil.now());
taskTab.update(jsonTask);
String point_code1 = jsonTask.getString("point_code1");
String point_code2 = jsonTask.getString("point_code2");
String point_code3 = jsonTask.getString("point_code3");
String point_code4 = jsonTask.getString("point_code4");
JSONObject jsonRaw = rawTab.query("container_name ='" + jsonTask.getString("material_code") + "' AND status <> '09' AND is_delete = '0'").uniqueResult(0);
if (ObjectUtil.isEmpty(jsonRaw)) {
throw new BadRequestException("未找到满足条件的生箔工单:" + jsonTask.getString("material_code"));
}
String containerName = jsonRaw.getString("container_name");
String workorderId = jsonRaw.getString("workorder_id");
String productinQty = jsonRaw.getString("productin_qty");
// 取空取满放空放满
if ("010101".equals(jsonTask.getString("task_type"))) {
if (rawfoilWorkOrder == null) {
throw new BadRequestException("工单不存在");
}
//更新生箔机点位库存
updateSbIvt(sbTab, point_code3, "01","02");
updateSbIvt(point_code3, "01", "02");
//更新冷却区点位库存
updateIvtIvt(ivtTab, point_code4, "02", "01", DateUtil.now(), containerName, workorderId, productinQty);
updateIvtIvt(point_code4, "02", "01", rawfoilWorkOrder);
}
//取满放满
if ("010102".equals(jsonTask.getString("task_type"))) {
if (rawfoilWorkOrder == null) {
throw new BadRequestException("工单不存在");
}
//更新生箔机点位库存
updateSbIvt(sbTab, point_code1, "01",null);
updateSbIvt(point_code1, "01", null);
//更新冷却区点位库存
updateIvtIvt(ivtTab, point_code2, "02", null, DateUtil.now(), containerName, workorderId, productinQty);
updateIvtIvt(point_code2, "02", null, rawfoilWorkOrder);
}
//起点是冷却区 取空放空
if ("010103".equals(jsonTask.getString("task_type"))) {
//更新生箔机点位库存
updateSbIvt(sbTab, point_code1, null,"02");
updateSbIvt(point_code2, null, "02");
//更新冷却区点位库存
updateIvtIvt(ivtTab, point_code2, null, "01", DateUtil.now(), null, null, null);
updateIvtIvt(point_code1, null, "01", rawfoilWorkOrder);
}
//起点是生箔机 取空放空
if ("010104".equals(jsonTask.getString("task_type"))) {
//更新生箔机点位库存
updateSbIvt(sbTab, point_code1, null,"01");
updateSbIvt(point_code1, null, "01");
//更新冷却区点位库存
updateIvtIvt(ivtTab, point_code2, null, "02", DateUtil.now(), null, null, null);
updateIvtIvt(point_code2, null, "02", rawfoilWorkOrder);
}
if ("010101".equals(jsonTask.getString("task_type")) || "010102".equals(jsonTask.getString("task_type"))) {
//更新母卷工单状态
HashMap<String, String> map = new HashMap<>();
rawfoilWorkOrder.setStatus("40");
rawfoilWorkOrder.setOrigin("1");
rawfoilWorkOrder.setRoll_status("0");
rawfoilWorkOrder.setRealend_time(DateUtil.now());
rawfoilWorkOrder.setUpdate_optid(currentUserId);
rawfoilWorkOrder.setUpdate_optname(currentUsername);
rawfoilWorkOrder.setFinish_type("01");
rawfoilWorkOrder.setUpdate_time(DateUtil.now());
rawfoilWorkOrderMapper.updateById(rawfoilWorkOrder);
}
//更新母卷工单状态
HashMap<String, String> map = new HashMap<>();
map.put("status", "40");
map.put("origin", "1");
map.put("roll_status", "0");
map.put("realend_time", DateUtil.now());
map.put("update_optid", currentUserId + "");
map.put("update_optname", currentUsername);
map.put("finish_type", "01");
map.put("update_time", DateUtil.now());
WQLObject.getWQLObject("PDM_BI_RawFoilWorkOrder").update(map, "container_name = '" + jsonTask.getString("material_code") + "'");
// 更改任务状态为完成
jsonTask.put("task_status", TaskStatusEnum.FINISHED.getCode());
jsonTask.put("update_optid", SecurityUtils.getCurrentUserId());
jsonTask.put("update_optname", SecurityUtils.getCurrentUsername());
jsonTask.put("update_time", DateUtil.now());
taskTab.update(jsonTask);
}
}
}
private void updateSbIvt(WQLObject sbTab, String fullPointCode,
private void updateSbIvt(String fullPointCode,
String fullStatus, String emptyStatus) {
JSONObject jsonSbIvt;
SbPointIvt sbPointIvt;
if (fullPointCode.endsWith("M")) {
jsonSbIvt = sbTab.query("full_point_code = '" + fullPointCode + "'").uniqueResult(0);
sbPointIvt = sbPointIvtMapper.selectOne(new LambdaQueryWrapper<SbPointIvt>()
.eq(SbPointIvt::getFull_point_code, fullPointCode));
} else {
jsonSbIvt = sbTab.query("empty_point_code = '" + fullPointCode + "'").uniqueResult(0);
sbPointIvt = sbPointIvtMapper.selectOne(new LambdaQueryWrapper<SbPointIvt>()
.eq(SbPointIvt::getEmpty_point_code, fullPointCode));
}
if (ObjectUtil.isEmpty(jsonSbIvt)) {
if (sbPointIvt == null) {
throw new BadRequestException("未找到对应的点位: " + fullPointCode);
}
if (fullStatus != null) jsonSbIvt.put("full_point_status", fullStatus);
if (emptyStatus != null) jsonSbIvt.put("empty_point_status", emptyStatus);
sbTab.update(jsonSbIvt);
if (fullStatus != null) sbPointIvt.setFull_point_status(fullStatus);
if (emptyStatus != null) sbPointIvt.setEmpty_point_status(emptyStatus);
sbPointIvtMapper.updateById(sbPointIvt);
}
private void updateIvtIvt(WQLObject ivtTab, String fullPointCode,
String fullStatus, String emptyStatus,
String instorageTime, String containerName,
String workorderId, String ivtQty) {
JSONObject jsonCoolIvt;
private void updateIvtIvt(String fullPointCode,
String fullStatus,
String emptyStatus,
RawfoilWorkOrder rawfoilWorkOrder) {
CoolPointIvt coolPointIvt;
if (fullPointCode.endsWith("M")) {
jsonCoolIvt = ivtTab.query("full_point_code = '" + fullPointCode + "'").uniqueResult(0);
coolPointIvt = coolPointIvtMapper.selectOne(new LambdaQueryWrapper<CoolPointIvt>()
.eq(CoolPointIvt::getFull_point_code, fullPointCode));
} else {
jsonCoolIvt = ivtTab.query("empty_point_code = '" + fullPointCode + "'").uniqueResult(0);
coolPointIvt = coolPointIvtMapper.selectOne(new LambdaQueryWrapper<CoolPointIvt>()
.eq(CoolPointIvt::getEmpty_point_code, fullPointCode));
}
if (ObjectUtil.isEmpty(jsonCoolIvt)) {
if (coolPointIvt == null) {
throw new BadRequestException("未找到对应的点位: " + fullPointCode);
}
if (fullStatus != null) jsonCoolIvt.put("full_point_status", fullStatus);
if (emptyStatus != null) jsonCoolIvt.put("empty_point_status", emptyStatus);
if (instorageTime != null) jsonCoolIvt.put("instorage_time", instorageTime);
if (containerName != null) jsonCoolIvt.put("container_name", containerName);
if (workorderId != null) jsonCoolIvt.put("workorder_id", workorderId);
if (ivtQty != null) jsonCoolIvt.put("ivt_qty", ivtQty);
ivtTab.update(jsonCoolIvt);
coolPointIvt.setFull_point_status(fullStatus);
coolPointIvt.setEmpty_point_status(emptyStatus);
if (rawfoilWorkOrder != null) {
coolPointIvt.setInstorage_time(DateUtil.now());
coolPointIvt.setContainer_name(rawfoilWorkOrder.getContainer_name());
coolPointIvt.setWorkorder_id(String.valueOf(rawfoilWorkOrder.getWorkorder_id()));
}
coolPointIvtMapper.updateById(coolPointIvt);
}
@Override

395
lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CoolCutTask.java

@ -110,216 +110,123 @@ public class CoolCutTask extends AbstractAcsTask {
String point_code3 = jsonTask.getString("point_code3");
String point_code4 = jsonTask.getString("point_code4");
String product_area = jsonTask.getString("product_area");
//下空轴上满卷
if ("010301".equals(jsonTask.getString("task_type"))) {
if ("B1".equals(product_area)) {
//更新起点烘箱对接位
JSONObject dj_jo = WQLObject.getWQLObject("sch_base_point").query("point_code ='" + point_code1 + "'").uniqueResult(0);
JSONObject cool_jo = WQLObject.getWQLObject("st_ivt_coolpointivt").query("full_point_code ='" + point_code1 + "'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(dj_jo)) {
dj_jo.put("point_status", "1");
dj_jo.put("material_code", "");
WQLObject.getWQLObject("sch_base_point").update(dj_jo);
}
if (ObjectUtil.isNotEmpty(cool_jo)) {
cool_jo.put("full_point_status", "01");
cool_jo.put("container_name", "");
cool_jo.put("workorder_id", "");
cool_jo.put("update_optid", currentUserId);
cool_jo.put("update_optname", currentUsername);
cool_jo.put("update_time", DateUtil.now());
WQLObject.getWQLObject("st_ivt_coolpointivt").update(cool_jo);
}
JSONObject full_jo = WQLObject.getWQLObject("st_ivt_coolpointivt").query("full_point_code ='" + point_code2 + "'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(full_jo)) {
full_jo.put("full_point_status", "02");
full_jo.put("container_name", jsonTask.getString("material_code"));
full_jo.put("update_optid", currentUserId);
full_jo.put("update_optname", currentUsername);
full_jo.put("update_time", DateUtil.now());
WQLObject.getWQLObject("st_ivt_coolpointivt").update(full_jo);
}
//更新满轴终点的空轴对接位
JSONObject cut_jo = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("empty_point_code = '" + point_code3 + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(cut_jo)) {
cut_jo = WQLObject.getWQLObject("st_ivt_coolpointivt").query("empty_point_code = '" + point_code3 + "'").uniqueResult(0);
cut_jo.put("empty_point_status", "01");
cut_jo.put("empty_vehicle_code", "");
cut_jo.put("update_optid", currentUserId);
cut_jo.put("update_optname", currentUsername);
cut_jo.put("update_time", DateUtil.now());
WQLObject.getWQLObject("st_ivt_coolpointivt").update(cut_jo);
} else {
cut_jo.put("empty_point_status", "02");
cut_jo.put("empty_vehicle_code", "SJG");
cut_jo.put("update_optid", currentUserId);
cut_jo.put("update_optname", currentUsername);
cut_jo.put("update_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(cut_jo);
}
//更新空轴点位
JSONObject jsonCoolIvt2 = WQLObject.getWQLObject("st_ivt_coolpointivt").query("empty_point_code = '" + point_code4 + "'").uniqueResult(0);
jsonCoolIvt2.put("empty_point_status", "02");
jsonCoolIvt2.put("empty_vehicle_code", jsonTask.getString("vehicle_code2"));
jsonCoolIvt2.put("cool_ivt_status", "01");
jsonCoolIvt2.put("instorage_time", "");
jsonCoolIvt2.put("update_optid", currentUserId);
jsonCoolIvt2.put("update_optname", currentUsername);
jsonCoolIvt2.put("update_time", DateUtil.now());
WQLObject.getWQLObject("st_ivt_coolpointivt").update(jsonCoolIvt2);
} else {
// 更新主表状态
JSONObject coolMst = ivtTab.query("task_id = '" + task_id + "'").uniqueResult(0);
coolMst.put("bill_status", "50");
ivtTab.update(coolMst);
//更新冷却区母卷库存
JSONObject jsonCoolIvt = WQLObject.getWQLObject("st_ivt_coolpointivt").query("full_point_code = '" + point_code1 + "'").uniqueResult(0);
String container_name = jsonCoolIvt.getString("container_name"); // 母卷号
jsonCoolIvt.put("full_point_status", "01");
jsonCoolIvt.put("container_name", "");
jsonCoolIvt.put("workorder_id", "");
jsonCoolIvt.put("ivt_qty", "0");
jsonCoolIvt.put("cool_ivt_status", "01");
jsonCoolIvt.put("instorage_time", "");
jsonCoolIvt.put("update_optid", currentUserId);
jsonCoolIvt.put("update_optname", currentUsername);
jsonCoolIvt.put("update_time", DateUtil.now());
WQLObject.getWQLObject("st_ivt_coolpointivt").update(jsonCoolIvt);
//更新分切区母卷库存
JSONObject cut_jo = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("full_point_code = '" + point_code2 + "'").uniqueResult(0);
cut_jo.put("full_point_status", "02");
cut_jo.put("container_name", container_name);
cut_jo.put("update_optid", currentUserId);
cut_jo.put("update_optname", currentUsername);
cut_jo.put("update_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(cut_jo);
//更新分切区空轴库存
JSONObject cut_jo2 = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("empty_point_code = '" + point_code3 + "'").uniqueResult(0);
cut_jo2.put("empty_point_status", "01");
cut_jo2.put("empty_vehicle_code", "");
cut_jo2.put("update_optid", currentUserId);
cut_jo2.put("update_optname", currentUsername);
cut_jo2.put("update_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(cut_jo2);
//更新冷却区空轴库存
JSONObject jsonCoolIvt2 = WQLObject.getWQLObject("st_ivt_coolpointivt").query("empty_point_code = '" + point_code4 + "'").uniqueResult(0);
jsonCoolIvt2.put("empty_point_status", "02");
jsonCoolIvt2.put("empty_vehicle_code", jsonTask.getString("vehicle_code2"));
jsonCoolIvt2.put("cool_ivt_status", "01");
jsonCoolIvt2.put("instorage_time", "");
jsonCoolIvt2.put("update_optid", currentUserId);
jsonCoolIvt2.put("update_optname", currentUsername);
jsonCoolIvt2.put("update_time", DateUtil.now());
WQLObject.getWQLObject("st_ivt_coolpointivt").update(jsonCoolIvt2);
//更新该母卷对应分切计划的状态
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");
//判断该接口是否需要回传
JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'cutPlanMomRollDeliveryComplete'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(back_jo) && "1".equals(back_jo.getString("is_back"))) {
new LmsToMesServiceImpl().cutPlanMomRollDeliveryComplete(mom_jo);
}
}
// 更新主表状态
JSONObject coolMst = ivtTab.query("task_id = '" + task_id + "'").uniqueResult(0);
coolMst.put("bill_status", "50");
ivtTab.update(coolMst);
//更新冷却区母卷库存
JSONObject jsonCoolIvt = WQLObject.getWQLObject("st_ivt_coolpointivt").query("full_point_code = '" + point_code1 + "'").uniqueResult(0);
String container_name = jsonCoolIvt.getString("container_name"); // 母卷号
jsonCoolIvt.put("full_point_status", "01");
jsonCoolIvt.put("container_name", "");
jsonCoolIvt.put("workorder_id", "");
jsonCoolIvt.put("ivt_qty", "0");
jsonCoolIvt.put("cool_ivt_status", "01");
jsonCoolIvt.put("instorage_time", "");
jsonCoolIvt.put("update_optid", currentUserId);
jsonCoolIvt.put("update_optname", currentUsername);
jsonCoolIvt.put("update_time", DateUtil.now());
WQLObject.getWQLObject("st_ivt_coolpointivt").update(jsonCoolIvt);
//更新分切区母卷库存
JSONObject cut_jo = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("full_point_code = '" + point_code2 + "'").uniqueResult(0);
cut_jo.put("full_point_status", "02");
cut_jo.put("container_name", container_name);
cut_jo.put("update_optid", currentUserId);
cut_jo.put("update_optname", currentUsername);
cut_jo.put("update_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(cut_jo);
//更新分切区空轴库存
JSONObject cut_jo2 = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("empty_point_code = '" + point_code3 + "'").uniqueResult(0);
cut_jo2.put("empty_point_status", "01");
cut_jo2.put("empty_vehicle_code", "");
cut_jo2.put("update_optid", currentUserId);
cut_jo2.put("update_optname", currentUsername);
cut_jo2.put("update_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(cut_jo2);
//更新冷却区空轴库存
JSONObject jsonCoolIvt2 = WQLObject.getWQLObject("st_ivt_coolpointivt").query("empty_point_code = '" + point_code4 + "'").uniqueResult(0);
jsonCoolIvt2.put("empty_point_status", "02");
jsonCoolIvt2.put("empty_vehicle_code", jsonTask.getString("vehicle_code2"));
jsonCoolIvt2.put("cool_ivt_status", "01");
jsonCoolIvt2.put("instorage_time", "");
jsonCoolIvt2.put("update_optid", currentUserId);
jsonCoolIvt2.put("update_optname", currentUsername);
jsonCoolIvt2.put("update_time", DateUtil.now());
WQLObject.getWQLObject("st_ivt_coolpointivt").update(jsonCoolIvt2);
//更新该母卷对应分切计划的状态
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");
//判断该接口是否需要回传
// JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'cutPlanMomRollDeliveryComplete'").uniqueResult(0);
// if (ObjectUtil.isNotEmpty(back_jo) && "1".equals(back_jo.getString("is_back"))) {
// new LmsToMesServiceImpl().cutPlanMomRollDeliveryComplete(mom_jo);
// }
}
//单送满卷
if ("010302".equals(jsonTask.getString("task_type"))) {
// todo: B2,B3,B4未考虑完成处理方式(是否回传MES )
if ("B1".equals(product_area)) {
//更新起点烘箱对接位
JSONObject dj_jo = WQLObject.getWQLObject("sch_base_point").query("point_code ='" + point_code1 + "'").uniqueResult(0);
JSONObject cool_jo = WQLObject.getWQLObject("st_ivt_coolpointivt").query("full_point_code ='" + point_code1 + "'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(dj_jo)) {
dj_jo.put("point_status", "1");
dj_jo.put("material_code", "");
WQLObject.getWQLObject("sch_base_point").update(dj_jo);
}
if (ObjectUtil.isNotEmpty(cool_jo)) {
cool_jo.put("full_point_status", "01");
cool_jo.put("container_name", "");
cool_jo.put("workorder_id", "");
cool_jo.put("update_optid", currentUserId);
cool_jo.put("update_optname", currentUsername);
cool_jo.put("update_time", DateUtil.now());
WQLObject.getWQLObject("st_ivt_coolpointivt").update(cool_jo);
}
//更新满轴终点的空轴对接位
JSONObject cut_jo = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("full_point_code = '" + point_code2 + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(cut_jo)) {
cut_jo = WQLObject.getWQLObject("st_ivt_coolpointivt").query("full_point_code = '" + point_code2 + "'").uniqueResult(0);
cut_jo.put("full_point_status", "02");
cut_jo.put("container_name", jsonTask.getString("material_code"));
WQLObject.getWQLObject("st_ivt_coolpointivt").update(cut_jo);
} else {
cut_jo.put("empty_point_status", "02");
cut_jo.put("empty_vehicle_code", "SJG");
cut_jo.put("update_optid", currentUserId);
cut_jo.put("update_optname", currentUsername);
cut_jo.put("update_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(cut_jo);
}
} else {
// 更新主表状态
JSONObject coolMst = ivtTab.query("task_id = '" + task_id + "'").uniqueResult(0);
coolMst.put("bill_status", "50");
ivtTab.update(coolMst);
//更新冷却区母卷库存
JSONObject jsonCoolIvt = WQLObject.getWQLObject("st_ivt_coolpointivt").query("full_point_code = '" + point_code1 + "'").uniqueResult(0);
String container_name = jsonCoolIvt.getString("container_name"); // 母卷号
jsonCoolIvt.put("full_point_status", "01");
jsonCoolIvt.put("container_name", "");
jsonCoolIvt.put("workorder_id", "");
jsonCoolIvt.put("ivt_qty", "0");
jsonCoolIvt.put("cool_ivt_status", "01");
jsonCoolIvt.put("instorage_time", "");
jsonCoolIvt.put("update_optid", currentUserId);
jsonCoolIvt.put("update_optname", currentUsername);
jsonCoolIvt.put("update_time", DateUtil.now());
WQLObject.getWQLObject("st_ivt_coolpointivt").update(jsonCoolIvt);
//更新分切区母卷库存
JSONObject cut_jo = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("full_point_code = '" + point_code2 + "'").uniqueResult(0);
cut_jo.put("full_point_status", "02");
cut_jo.put("container_name", container_name);
cut_jo.put("update_optid", currentUserId);
cut_jo.put("update_optname", currentUsername);
cut_jo.put("update_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(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 + "'");
//回传MES
JSONObject mom_jo = new JSONObject();
mom_jo.put("contain_name", container_name);
mom_jo.put("warehouse", "1");
//判断该接口是否需要回传
JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'cutPlanMomRollDeliveryComplete'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(back_jo) && "1".equals(back_jo.getString("is_back"))) {
new LmsToMesServiceImpl().cutPlanMomRollDeliveryComplete(mom_jo);
}
// 更新主表状态
JSONObject coolMst = ivtTab.query("task_id = '" + task_id + "'").uniqueResult(0);
coolMst.put("bill_status", "50");
ivtTab.update(coolMst);
//更新冷却区母卷库存
JSONObject jsonCoolIvt = WQLObject.getWQLObject("st_ivt_coolpointivt").query("full_point_code = '" + point_code1 + "'").uniqueResult(0);
String container_name = jsonCoolIvt.getString("container_name"); // 母卷号
jsonCoolIvt.put("full_point_status", "01");
jsonCoolIvt.put("container_name", "");
jsonCoolIvt.put("workorder_id", "");
jsonCoolIvt.put("ivt_qty", "0");
jsonCoolIvt.put("cool_ivt_status", "01");
jsonCoolIvt.put("instorage_time", "");
jsonCoolIvt.put("update_optid", currentUserId);
jsonCoolIvt.put("update_optname", currentUsername);
jsonCoolIvt.put("update_time", DateUtil.now());
WQLObject.getWQLObject("st_ivt_coolpointivt").update(jsonCoolIvt);
//更新分切区母卷库存
JSONObject cut_jo = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("full_point_code = '" + point_code2 + "'").uniqueResult(0);
cut_jo.put("full_point_status", "02");
cut_jo.put("container_name", container_name);
cut_jo.put("update_optid", currentUserId);
cut_jo.put("update_optname", currentUsername);
cut_jo.put("update_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(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 + "'");
//回传MES
JSONObject mom_jo = new JSONObject();
mom_jo.put("contain_name", container_name);
mom_jo.put("warehouse", "1");
//判断该接口是否需要回传
JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'cutPlanMomRollDeliveryComplete'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(back_jo) && "1".equals(back_jo.getString("is_back"))) {
new LmsToMesServiceImpl().cutPlanMomRollDeliveryComplete(mom_jo);
}
}
//空轴送回
if ("010303".equals(jsonTask.getString("task_type"))) {
//更新分切区空轴库存
JSONObject cut_jo2 = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("empty_point_code = '" + point_code1 + "'").uniqueResult(0);
@ -342,55 +249,20 @@ public class CoolCutTask extends AbstractAcsTask {
WQLObject.getWQLObject("st_ivt_coolpointivt").update(jsonCoolIvt2);
}
if ("010305".equals(jsonTask.getString("task_type"))) {
//更新冷却区空轴库存
JSONObject jsonCoolIvt2 = WQLObject.getWQLObject("st_ivt_coolpointivt").query("full_point_code = '" + point_code1 + "'").uniqueResult(0);
String container_name = jsonCoolIvt2.getString("container_name");
jsonCoolIvt2.put("full_point_status", "01");
jsonCoolIvt2.put("container_name", "");
jsonCoolIvt2.put("workorder_id", "");
jsonCoolIvt2.put("ivt_qty", "0");
jsonCoolIvt2.put("cool_ivt_status", "01");
WQLObject.getWQLObject("st_ivt_coolpointivt").update(jsonCoolIvt2);
//更新中转区点位库存
JSONObject point_jo2 = WQLObject.getWQLObject("sch_base_point").query("point_code = '" + point_code2 + "'").uniqueResult(0);
point_jo2.put("point_status", "2");
point_jo2.put("material_code", container_name);
WQLObject.getWQLObject("sch_base_point").update(point_jo2);
}
//满轴送回
if ("010304".equals(jsonTask.getString("task_type"))) {
//更新分切区空轴库存
String container_name = "";
//若起点是ST_IVT_CutPointIvt表
JSONObject cut_jo2 = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("full_point_code = '" + point_code1 + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(cut_jo2)) {
//B1车间支持从分切上料暂存位送回母卷
if(point_code1.contains("B1_FQZC")){
cut_jo2 = WQLObject.getWQLObject("st_ivt_coolpointivt").query("full_point_code = '" + point_code1 + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(cut_jo2)) {
throw new BadRequestException("任务点位异常,st_ivt_coolpointivt表找不到满轴点位:"+point_code1);
}
container_name = cut_jo2.getString("container_name");
cut_jo2.put("full_point_status", "01");
cut_jo2.put("full_vehicle_code", "");
cut_jo2.put("container_name", "");
cut_jo2.put("update_optid", currentUserId);
cut_jo2.put("update_optname", currentUsername);
cut_jo2.put("update_time", DateUtil.now());
WQLObject.getWQLObject("st_ivt_coolpointivt").update(cut_jo2);
}
}else{
container_name = cut_jo2.getString("container_name");
cut_jo2.put("full_point_status", "01");
cut_jo2.put("full_vehicle_code", "");
cut_jo2.put("container_name", "");
cut_jo2.put("update_optid", currentUserId);
cut_jo2.put("update_optname", currentUsername);
cut_jo2.put("update_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(cut_jo2);
}
container_name = cut_jo2.getString("container_name");
cut_jo2.put("full_point_status", "01");
cut_jo2.put("full_vehicle_code", "");
cut_jo2.put("container_name", "");
cut_jo2.put("update_optid", currentUserId);
cut_jo2.put("update_optname", currentUsername);
cut_jo2.put("update_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(cut_jo2);
//更新冷却区空轴库存
@ -403,6 +275,15 @@ public class CoolCutTask extends AbstractAcsTask {
jsonCoolIvt2.put("update_optname", currentUsername);
jsonCoolIvt2.put("update_time", DateUtil.now());
WQLObject.getWQLObject("st_ivt_coolpointivt").update(jsonCoolIvt2);
//更新母卷状态
HashMap<String, String> map = new HashMap<>();
map.put("origin", "3");
map.put("roll_status", "1");
map.put("update_optid", currentUserId + "");
map.put("update_optname", currentUsername);
map.put("update_time", DateUtil.now());
WQLObject.getWQLObject("PDM_BI_RawFoilWorkOrder").update(map, "container_name = '" + jsonTask.getString("material_code") + "'");
}
}
@ -430,20 +311,20 @@ public class CoolCutTask extends AbstractAcsTask {
String point_code3 = form.getString("point_code3");
String point_code4 = form.getString("point_code4");
JSONObject task1 = isSingleTask(point_code1);
if ( ObjectUtil.isNotEmpty(task1)) {
throw new BadRequestException("点位:" + point_code1 + "存在未完成的任务:"+task1.getString("task_code"));
if (ObjectUtil.isNotEmpty(task1)) {
throw new BadRequestException("点位:" + point_code1 + "存在未完成的任务:" + task1.getString("task_code"));
}
JSONObject task2 = isSingleTask(point_code2);
if ( ObjectUtil.isNotEmpty(task2)) {
throw new BadRequestException("点位:" + point_code2 + "存在未完成的任务:"+task2.getString("task_code"));
if (ObjectUtil.isNotEmpty(task2)) {
throw new BadRequestException("点位:" + point_code2 + "存在未完成的任务:" + task2.getString("task_code"));
}
JSONObject task3 = isSingleTask(point_code3);
if ( ObjectUtil.isNotEmpty(task3)) {
throw new BadRequestException("点位:" + point_code3 +"存在未完成的任务:"+task3.getString("task_code"));
if (ObjectUtil.isNotEmpty(task3)) {
throw new BadRequestException("点位:" + point_code3 + "存在未完成的任务:" + task3.getString("task_code"));
}
JSONObject task4 = isSingleTask(point_code4);
if ( ObjectUtil.isNotEmpty(task4)) {
throw new BadRequestException("点位:" + point_code4 + "存在未完成的任务:"+task4.getString("task_code"));
if (ObjectUtil.isNotEmpty(task4)) {
throw new BadRequestException("点位:" + point_code4 + "存在未完成的任务:" + task4.getString("task_code"));
}
JSONObject json = new JSONObject();
json.put("task_id", IdUtil.getSnowflake(1, 1).nextId());
@ -503,13 +384,13 @@ public class CoolCutTask extends AbstractAcsTask {
JSONObject task3 = WQLObject.getWQLObject("SCH_BASE_Task").query("point_code3 = '" + point_code + "' AND task_status < '07' AND is_delete = '0'").uniqueResult(0);
JSONObject task4 = WQLObject.getWQLObject("SCH_BASE_Task").query("point_code4 = '" + point_code + "' AND task_status < '07' AND is_delete = '0'").uniqueResult(0);
if(ObjectUtil.isNotEmpty(task1)){
if (ObjectUtil.isNotEmpty(task1)) {
return task1;
}else if(ObjectUtil.isNotEmpty(task2)){
} else if (ObjectUtil.isNotEmpty(task2)) {
return task2;
}else if(ObjectUtil.isNotEmpty(task3)){
} else if (ObjectUtil.isNotEmpty(task3)) {
return task3;
}else if(ObjectUtil.isNotEmpty(task4)){
} else if (ObjectUtil.isNotEmpty(task4)) {
return task4;
}

32
lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InCoolIvtTask.java

@ -118,7 +118,7 @@ public class InCoolIvtTask extends AbstractAcsTask {
//更新生箔工单母卷信息
JSONObject raw_jo = pdm_bi_rawfoilworkorder.query("container_name = '" + jsonTask.getString("material_code") + "'").uniqueResult(0);
raw_jo.put("origin", "2");
raw_jo.put("roll_status", "1");
raw_jo.put("roll_status", "1");
pdm_bi_rawfoilworkorder.update(raw_jo);
// 更新冷却库存状态
@ -137,23 +137,23 @@ public class InCoolIvtTask extends AbstractAcsTask {
pointTab.update(jsonPoint);
// 将入冷却信息发送给mes
JSONObject param = new JSONObject();
String userName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_USERNAME").getValue();
String passWord = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_PASSWORD").getValue();
param.put("iContainerName", jsonTask.getString("material_code"));
param.put("iArrivalTime", DateUtil.now());
param.put("iWarehouse", 2);
param.put("UserName", userName);
param.put("PassWord", passWord);
// JSONObject param = new JSONObject();
// String userName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_USERNAME").getValue();
// String passWord = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_PASSWORD").getValue();
// param.put("iContainerName", jsonTask.getString("material_code"));
// param.put("iArrivalTime", DateUtil.now());
// param.put("iWarehouse", 2);
// param.put("UserName", userName);
// param.put("PassWord", passWord);
//判断该接口是否需要回传
JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'momRollSemiFGInboundComplete'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(back_jo) && "1".equals(back_jo.getString("is_back"))) {
String product_area = back_jo.getString("product_area");
if (StrUtil.isNotEmpty(product_area) && product_area.contains(jsonTask.getString("product_area"))) {
SpringContextHolder.getBean(LmsToMesService.class).momRollSemiFGInboundComplete(param);
}
}
// JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'momRollSemiFGInboundComplete'").uniqueResult(0);
// if (ObjectUtil.isNotEmpty(back_jo) && "1".equals(back_jo.getString("is_back"))) {
// String product_area = back_jo.getString("product_area");
// if (StrUtil.isNotEmpty(product_area) && product_area.contains(jsonTask.getString("product_area"))) {
// SpringContextHolder.getBean(LmsToMesService.class).momRollSemiFGInboundComplete(param);
// }
// }
//将该母卷的入冷却标识改为0
HashMap<String, String> map = new HashMap<>();

40
lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InHotTask.java

@ -189,25 +189,25 @@ public class InHotTask extends AbstractAcsTask {
}
// 将入烘箱信息发送给mes
JSONObject param = new JSONObject();
String userName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_USERNAME").getValue();
String passWord = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_PASSWORD").getValue();
param.put("iContainerName", jsonHotMst.getString("container_name"));
param.put("iResourceName", hot_point_code);
param.put("iMoveInDate", DateUtil.now());
param.put("iPlanBakingTemperature", jsonHotMst.getDoubleValue("temperature"));
param.put("iPlanBakingTimer", jsonHotMst.getDoubleValue("oven_time"));
param.put("UserName", userName);
param.put("PassWord", passWord);
// JSONObject param = new JSONObject();
// String userName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_USERNAME").getValue();
// String passWord = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_PASSWORD").getValue();
// param.put("iContainerName", jsonHotMst.getString("container_name"));
// param.put("iResourceName", hot_point_code);
// param.put("iMoveInDate", DateUtil.now());
// param.put("iPlanBakingTemperature", jsonHotMst.getDoubleValue("temperature"));
// param.put("iPlanBakingTimer", jsonHotMst.getDoubleValue("oven_time"));
// param.put("UserName", userName);
// param.put("PassWord", passWord);
//判断该接口是否需要回传
JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'momRollBakeInBound'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(back_jo) && "1".equals(back_jo.getString("is_back"))) {
String product_area = back_jo.getString("product_area");
if (StrUtil.isNotEmpty(product_area) && product_area.contains(jsonTask.getString("product_area"))) {
SpringContextHolder.getBean(LmsToMesService.class).momRollBakeInBound(param);
}
}
// JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'momRollBakeInBound'").uniqueResult(0);
// if (ObjectUtil.isNotEmpty(back_jo) && "1".equals(back_jo.getString("is_back"))) {
// String product_area = back_jo.getString("product_area");
// if (StrUtil.isNotEmpty(product_area) && product_area.contains(jsonTask.getString("product_area"))) {
// SpringContextHolder.getBean(LmsToMesService.class).momRollBakeInBound(param);
// }
// }
//将该母卷的入烘箱标识改为0
HashMap<String, String> map = new HashMap<>();
@ -271,11 +271,7 @@ public class InHotTask extends AbstractAcsTask {
} else {
json.put("priority", priority_jo.getString("value"));
}
if (StrUtil.isNotEmpty(form.getString("point_code3"))) {
json.put("acs_task_type", "8");
} else {
json.put("acs_task_type", "6");
}
json.put("acs_task_type", "8");
tab.insert(json);
task_id = json.getString("task_id");

26
lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutHotTask.java

@ -140,21 +140,21 @@ public class OutHotTask extends AbstractAcsTask {
}
// 将出烘箱信息发送给mes
JSONObject param = new JSONObject();
param.put("iContainerName", jsonHotMst.getString("container_name"));
param.put("iResourceName", jsonHotIvt.getString("ext_code"));
param.put("iMoveOutDate", DateUtil.now());
param.put("iabxActualBakingTemperature", jsonHotMst.getDoubleValue("temperature"));
param.put("iabxActualBakingTimer", jsonHotMst.getDoubleValue("oven_time"));
// JSONObject param = new JSONObject();
// param.put("iContainerName", jsonHotMst.getString("container_name"));
// param.put("iResourceName", jsonHotIvt.getString("ext_code"));
// param.put("iMoveOutDate", DateUtil.now());
// param.put("iabxActualBakingTemperature", jsonHotMst.getDoubleValue("temperature"));
// param.put("iabxActualBakingTimer", jsonHotMst.getDoubleValue("oven_time"));
//判断该接口是否需要回传
JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'momRollBakeOutBound'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(back_jo) && "1".equals(back_jo.getString("is_back"))) {
String product_area = back_jo.getString("product_area");
if (StrUtil.isNotEmpty(product_area) && product_area.contains(jsonTask.getString("product_area"))) {
SpringContextHolder.getBean(LmsToMesService.class).momRollBakeOutBound(param);
}
}
// JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'momRollBakeOutBound'").uniqueResult(0);
// if (ObjectUtil.isNotEmpty(back_jo) && "1".equals(back_jo.getString("is_back"))) {
// String product_area = back_jo.getString("product_area");
// if (StrUtil.isNotEmpty(product_area) && product_area.contains(jsonTask.getString("product_area"))) {
// SpringContextHolder.getBean(LmsToMesService.class).momRollBakeOutBound(param);
// }
// }
}
}

40
lms/nladmin-ui/src/views/wms/pdm/order/rawfoilworkorder/index.vue

@ -106,6 +106,16 @@
>
称重
</el-button>
<el-button
slot="right"
class="filter-item"
type="success"
icon="el-icon-printer"
size="mini"
@click="print"
>
打印
</el-button>
</crudOperation>
<!--表单组件-->
<el-dialog
@ -194,12 +204,12 @@
<el-row>
<el-col :span="12">
<el-form-item label="重量">
<el-form-item label="重量" prop="productin_qty">
<el-input v-model="form.productin_qty" style="width: 250px;" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车号">
<el-form-item label="车号" prop="agvno">
<el-input v-model="form.agvno" style="width: 250px;" />
</el-form-item>
</el-col>
@ -207,8 +217,8 @@
<el-row>
<el-col :span="12">
<el-form-item label="备注">
<el-input v-model="form.remark" style="width: 250px;" />
<el-form-item label="批次号" prop="pscn">
<el-input v-model="form.pscn" style="width: 250px;" />
</el-form-item>
</el-col>
<el-col :span="12">
@ -247,6 +257,7 @@
<el-table-column prop="realend_time" label="结束时间" :min-width="flexWidth('realend_time',crud.data,'结束时间')" />
<el-table-column prop="productin_qty" label="重量" :min-width="flexWidth('productin_qty',crud.data,'重量')" :formatter="crud.formatNum3" />
<el-table-column prop="agvno" label="车号" :min-width="flexWidth('agvno',crud.data,'车号')" />
<el-table-column prop="pscn" label="批次号" :min-width="flexWidth('pscn',crud.data,'批次号')" />
<el-table-column prop="product_area" label="生产区域" :min-width="flexWidth('product_area',crud.data,'生产区域')" />
<el-table-column prop="is_baking" label="请求烘烤" :min-width="flexWidth('is_baking',crud.data,'请求烘烤')" :formatter="formatBakeIsOrNot" />
<el-table-column prop="is_instor" label="请求入半成品库" :min-width="flexWidth('is_instor',crud.data,'请求入半成品库')" :formatter="formatStorIsOrNot" />
@ -256,8 +267,8 @@
<udOperation
:data="scope.row"
:permission="permission"
:disabled-dle="scope.row.status !== '01'"
:disabled-edit="scope.row.status !== '01'"
:disabled-dle="scope.row.status !== '00'"
:disabled-edit="scope.row.status !== '00'"
/>
</template>
</el-table-column>
@ -305,7 +316,8 @@ const defaultForm = {
update_optid: null,
update_optname: null,
update_time: null,
is_delete: null
is_delete: null,
pscn: null
}
export default {
name: 'Rawfoilworkorder',
@ -359,6 +371,9 @@ export default {
],
p_coiler_date: [
{ required: true, message: '上卷开始时间不能为空', trigger: 'blur' }
],
pscn: [
{ required: true, message: '批次号不能为空', trigger: 'blur' }
]
}
}
@ -404,6 +419,17 @@ export default {
this.form.product_name = row.material_code
this.form.description = row.material_name
},
print() {
const _selectData = this.$refs.table.selection
if (!_selectData || _selectData.length < 1) {
this.crud.notify('请选择一条记录', CRUD.NOTIFICATION_TYPE.INFO)
return
}
crudRawfoilworkorder.print(_selectData).then(res => {
this.crud.notify('打印成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.crud.toQuery()
})
},
weigh() {
const _selectData = this.$refs.table.selection
this.openParam = _selectData[0]

10
lms/nladmin-ui/src/views/wms/pdm/order/rawfoilworkorder/rawfoilworkorder.js

@ -24,6 +24,14 @@ export function edit(data) {
})
}
export function print(data) {
return request({
url: '/api/rawfoilworkorder/print',
method: 'post',
data
})
}
export function compelEnd(data) {
return request({
url: 'api/rawfoilworkorder/compelEnd',
@ -40,4 +48,4 @@ export function confirm(data) {
})
}
export default { add, edit, del, compelEnd, confirm }
export default { add, edit, del, compelEnd, confirm, print }

21
lms/nladmin-ui/src/views/wms/pdm/order/slittingplan/index.vue

@ -321,6 +321,16 @@
>
设置右卷
</el-button>
<el-button
slot="right"
class="filter-item"
type="success"
icon="el-icon-printer"
size="mini"
@click="print"
>
打印
</el-button>
</crudOperation>
<!--表单组件-->
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="1200px">
@ -1070,6 +1080,17 @@ export default {
cancel(row, index) {
row.show_edit = '0'
},
print() {
const _selectData = this.$refs.table.selection
if (!_selectData || _selectData.length < 1) {
this.crud.notify('请选择一条记录', CRUD.NOTIFICATION_TYPE.INFO)
return
}
crudSlittingproductionplan.print(_selectData).then(res => {
this.crud.notify('打印成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.crud.toQuery()
})
},
save(row, index) {
row.show_edit = '0'
crudSlittingproductionplan.updates(row).then(res => {

9
lms/nladmin-ui/src/views/wms/pdm/order/slittingplan/slittingproductionplan.js

@ -78,5 +78,12 @@ export function updates(data) {
data
})
}
export function print(data) {
return request({
url: '/api/slittingproductionplan/print',
method: 'post',
data
})
}
export default { add, edit, del, upMaterFinish, caseFinish, sendFinish, inFinish, compelFinish, setDirection, updates }
export default { add, edit, del, upMaterFinish, caseFinish, sendFinish, inFinish, compelFinish, setDirection, updates, print }

Loading…
Cancel
Save