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. 65
      lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java
  7. 37
      lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java
  8. 57
      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. 166
      lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java
  19. 159
      lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CoolCutTask.java
  20. 30
      lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InCoolIvtTask.java
  21. 38
      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.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan;
import org.nl.common.domain.query.PageQuery; import org.nl.common.domain.query.PageQuery;
import org.nl.modules.logging.annotation.Log; 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.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map; import java.util.Map;
@RestController @RestController
@ -103,4 +105,11 @@ public class SlittingproductionplanController {
biSlittingproductionplanService.setDirection(whereJson); biSlittingproductionplanService.setDirection(whereJson);
return new ResponseEntity<>(HttpStatus.OK); 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 / * @param whereJson /
*/ */
void compelFinish(JSONObject 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.modules.wql.core.bean.WQLObject;
import org.nl.wms.basedata.st.service.impl.UserAreaServiceImpl; import org.nl.wms.basedata.st.service.impl.UserAreaServiceImpl;
import org.nl.wms.ext.mes.service.LmsToMesService; 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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -415,4 +417,38 @@ public class PdmBiSlittingproductionplanServiceImpl extends ServiceImpl<PdmBiSli
tab.update(jsonObject); 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 getPintByPointCode(String code, boolean flag);
StIvtCutpointivt findByEmptyPointCode(String code);
StIvtCutpointivt findByFullPointCode(String code);
/** /**
* 通过外部设备码获取设备数据 * 通过外部设备码获取设备数据
* @param code ext_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); 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 @Override
public StIvtCutpointivt getPintByExtCode(String code, boolean flag) { public StIvtCutpointivt getPintByExtCode(String code, boolean flag) {
LambdaQueryWrapper<StIvtCutpointivt> lam = new LambdaQueryWrapper<>(); LambdaQueryWrapper<StIvtCutpointivt> lam = new LambdaQueryWrapper<>();

65
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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
@ -2325,21 +2326,42 @@ public class SlitterServiceImpl implements SlitterService {
@Override @Override
public JSONObject rollCacheManage(JSONObject param) { public JSONObject rollCacheManage(JSONObject param) {
// param: point_code、flag(1:无空轴,2:有空轴) // param: point_code、flag(1:清除,2:有空轴)
String pointCode = param.getString("point_code"); String pointCode = param.getString("point_code");
if (ObjectUtil.isEmpty(pointCode)) {
throw new BadRequestException("请输入点位!");
}
String flag = param.getString("flag"); String flag = param.getString("flag");
WQLObject coolTab = WQLObject.getWQLObject("st_ivt_coolpointivt"); if ("1".equals(flag)) {
JSONObject cool_jo = coolTab StIvtCutpointivt emptyPoint = cutpointivtService.findByEmptyPointCode(pointCode);
.query("full_point_code = '" + pointCode + "' or empty_point_code = '" + pointCode + "'") StIvtCutpointivt fullPoint = cutpointivtService.findByFullPointCode(pointCode);
.uniqueResult(0); if (ObjectUtil.isNotEmpty(emptyPoint)) {
if (ObjectUtil.isEmpty(cool_jo)) { emptyPoint.setEmpty_point_status("01");
throw new BadRequestException("该暂存架不存在!"); emptyPoint.setUpdate_optid(Long.getLong(SecurityUtils.getCurrentUserId()));
} emptyPoint.setUpdate_optname(SecurityUtils.getCurrentNickName());
cool_jo.put("empty_point_status", "1".equals(flag) ? "01" : "02"); emptyPoint.setUpdate_time(DateUtil.now());
cool_jo.put("update_optid", SecurityUtils.getCurrentUserId()); cutpointivtService.update(emptyPoint);
cool_jo.put("update_optname", SecurityUtils.getCurrentNickName()); } else if (ObjectUtil.isNotEmpty(fullPoint)) {
cool_jo.put("update_time", DateUtil.now()); fullPoint.setFull_point_status("01");
coolTab.update(cool_jo); 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(); JSONObject res = new JSONObject();
res.put("status", HttpStatus.HTTP_OK); res.put("status", HttpStatus.HTTP_OK);
res.put("message", "点位更新成功!"); res.put("message", "点位更新成功!");
@ -2352,14 +2374,14 @@ public class SlitterServiceImpl implements SlitterService {
String pointCode = param.getString("point_code"); String pointCode = param.getString("point_code");
JSONObject res = new JSONObject(); JSONObject res = new JSONObject();
JSONObject data = new JSONObject(); JSONObject data = new JSONObject();
WQLObject coolTab = WQLObject.getWQLObject("st_ivt_coolpointivt"); if (ObjectUtil.isEmpty(pointCode)) {
JSONObject cool_jo = coolTab throw new BadRequestException("请输入点位!");
.query("full_point_code = '" + pointCode + "' or empty_point_code = '" + pointCode + "'") }
.uniqueResult(0); StIvtCutpointivt deviceCode = cutpointivtService.findByEmptyPointCode(pointCode);
if (ObjectUtil.isEmpty(cool_jo)) { if (ObjectUtil.isEmpty(deviceCode)) {
throw new BadRequestException("该暂存架不存在!"); throw new BadRequestException("该点位不存在!");
} }
data.put("msg", "该位置 " + ("01".equals(cool_jo.getString("empty_point_status")) ? "没有空轴" : "有空轴")); data.put("msg", "该位置 " + ("01".equals(deviceCode.getEmpty_point_status()) ? "没有空轴" : "有空轴"));
res.put("status", HttpStatus.HTTP_OK); res.put("status", HttpStatus.HTTP_OK);
res.put("data", data); res.put("data", data);
return res; return res;
@ -2483,6 +2505,7 @@ public class SlitterServiceImpl implements SlitterService {
} }
return res; return res;
} }
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public JSONObject downBait(JSONObject param) { public JSONObject downBait(JSONObject param) {

37
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 cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; 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.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.common.utils.SecurityUtils; 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.eum.RegionTypeEnum;
import org.nl.wms.pda.mps.service.BakingService; import org.nl.wms.pda.mps.service.BakingService;
import org.nl.wms.pda.mps.service.HandleBakingService; 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.CutConveyorTask;
import org.nl.wms.sch.tasks.InCoolIvtTask; import org.nl.wms.sch.tasks.InCoolIvtTask;
import org.nl.wms.sch.tasks.InHotTask; import org.nl.wms.sch.tasks.InHotTask;
@ -38,6 +44,12 @@ public class BakingServiceImpl implements BakingService {
@Autowired @Autowired
private RedisUtils redisUtils; 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 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 (ObjectUtil.isNotEmpty(jsonPointZc)) {
if (!in_area_id.contains(jsonPointZc.getString("product_area"))) { if (!in_area_id.contains(jsonPointZc.getString("product_area"))) {
throw new BadRequestException("当前登录人员暂无【" + jsonPointZc.getString("product_area") + "】操作权限"); throw new BadRequestException("当前登录人员暂无【" + jsonPointZc.getString("product_area") + "】操作权限");
@ -158,11 +174,7 @@ public class BakingServiceImpl implements BakingService {
// 2.创建暂存位 --> 烘烤区任务 // 2.创建暂存位 --> 烘烤区任务
JSONObject param = new JSONObject(); JSONObject param = new JSONObject();
param.put("type", "2"); // 1- 冷却区入烘箱 2- 暂存位入烘箱 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("point_code2", jsonHotIvt.getString("point_code"));
param.put("material_code", container_name); param.put("material_code", container_name);
param.put("product_area", jsonPointZc.getString("product_area")); param.put("product_area", jsonPointZc.getString("product_area"));
@ -188,19 +200,12 @@ public class BakingServiceImpl implements BakingService {
hotParam.put("temperature", temperature); hotParam.put("temperature", temperature);
hotParam.put("oven_time", hours); hotParam.put("oven_time", hours);
this.createHotIoMst(hotParam); this.createHotIoMst(hotParam);
} else if (ObjectUtil.isNotEmpty(cool_jo)) { } else if (ObjectUtil.isNotEmpty(jsonCoolIvt)) {
/* /*
* 冷却区入烘箱 * 冷却区入烘箱
*/ */
// hint: 两个都找不到点位,可能是使用了满轴位请求,查找冷却区域 // hint: 两个都找不到点位,可能是使用了满轴位请求,查找冷却区域
// 1.根据冷却区此母卷的点位找到对应的暂存区、找到空位 // 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 product_area = jsonCoolIvt.getString("product_area"); // 生产区域
String point_location = jsonCoolIvt.getString("point_location"); // 位置 String point_location = jsonCoolIvt.getString("point_location"); // 位置
@ -880,9 +885,9 @@ public class BakingServiceImpl implements BakingService {
throw new BadRequestException("未查询到母卷号:" + container_name + "对应的生箔机台编号!"); throw new BadRequestException("未查询到母卷号:" + container_name + "对应的生箔机台编号!");
} }
// if (StrUtil.equals("1", sb_jo.getString("mes_used")) && !"1".equals(raw_jo.getString("is_instor"))) { if (StrUtil.equals("1", sb_jo.getString("mes_used")) && !"1".equals(raw_jo.getString("is_instor"))) {
// throw new BadRequestException("该母卷在MES上未进行决策入半成品库,不允许进行入冷却操作!"); throw new BadRequestException("该母卷在MES上未进行决策入半成品库,不允许进行入冷却操作!");
// } }
// 1.获取此暂存位的生产区域和上下位置 // 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);

57
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.RawfoilWorkOrderMapper;
import org.nl.wms.pdm.rawfoilworkorder.service.dao.mapper.SbPointIvtMapper; 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.CoolPointIvtDto;
import org.nl.wms.pdm.rawfoilworkorder.service.dto.RawfoilWorkOrderDto;
import org.nl.wms.sch.service.PointService; import org.nl.wms.sch.service.PointService;
import org.nl.wms.sch.tasks.CallEmpReelTask; import org.nl.wms.sch.tasks.CallEmpReelTask;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -157,8 +158,8 @@ public class RawFoilServiceImpl implements RawFoilService {
// if (ObjectUtil.isNotEmpty(in_area_id)) { // if (ObjectUtil.isNotEmpty(in_area_id)) {
// map.put("in_area_id", in_area_id); // map.put("in_area_id", in_area_id);
// } // }
List<RawfoilWorkOrder> rawfoilWorkOrderList = rawfoilWorkOrderMapper.queryRawFoilList(map); List<RawfoilWorkOrderDto> rawfoilWorkOrderList = rawfoilWorkOrderMapper.queryRawFoilList(map);
PageInfo<RawfoilWorkOrder> rawfoilWorkOrderPageInfo = new PageInfo<>(rawfoilWorkOrderList); PageInfo<RawfoilWorkOrderDto> rawfoilWorkOrderPageInfo = new PageInfo<>(rawfoilWorkOrderList);
JSONObject jo = new JSONObject(); JSONObject jo = new JSONObject();
jo.put("data", rawfoilWorkOrderList); jo.put("data", rawfoilWorkOrderList);
jo.put("size", rawfoilWorkOrderPageInfo.getTotal()); jo.put("size", rawfoilWorkOrderPageInfo.getTotal());
@ -258,6 +259,7 @@ public class RawFoilServiceImpl implements RawFoilService {
// 更新工单状态为确认下卷 // 更新工单状态为确认下卷
rawfoilWorkOrder.setStatus("20"); rawfoilWorkOrder.setStatus("20");
rawfoilWorkOrder.setUpdate_time(DateUtil.now());
rawfoilWorkOrderMapper.updateById(rawfoilWorkOrder); rawfoilWorkOrderMapper.updateById(rawfoilWorkOrder);
JSONObject jo = new JSONObject(); JSONObject jo = new JSONObject();
@ -289,6 +291,7 @@ public class RawFoilServiceImpl implements RawFoilService {
RawfoilWorkOrder rawfoilWorkOrder = rawfoilWorkOrderMapper.selectOne(new LambdaQueryWrapper<RawfoilWorkOrder>() RawfoilWorkOrder rawfoilWorkOrder = rawfoilWorkOrderMapper.selectOne(new LambdaQueryWrapper<RawfoilWorkOrder>()
.eq(ObjectUtil.isNotEmpty(raw_jo.getString("workorder_id")), RawfoilWorkOrder::getWorkorder_id, raw_jo.getString("workorder_id"))); .eq(ObjectUtil.isNotEmpty(raw_jo.getString("workorder_id")), RawfoilWorkOrder::getWorkorder_id, raw_jo.getString("workorder_id")));
rawfoilWorkOrder.setStatus("10"); rawfoilWorkOrder.setStatus("10");
rawfoilWorkOrder.setUpdate_time(DateUtil.now());
rawfoilWorkOrderMapper.updateById(rawfoilWorkOrder); rawfoilWorkOrderMapper.updateById(rawfoilWorkOrder);
} }
JSONObject jo = new JSONObject(); JSONObject jo = new JSONObject();
@ -298,20 +301,22 @@ public class RawFoilServiceImpl implements RawFoilService {
@Override @Override
public JSONObject start(JSONObject whereJson) { 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"); JSONObject raw_jo = whereJson.getJSONObject("raw_jo");
if (ObjectUtil.isEmpty(raw_jo)) { if (ObjectUtil.isEmpty(raw_jo)) {
throw new BadRequestException("生箔工单不能为空!"); 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("工单状态不为初始化"); 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"); String container_name = raw_jo.getString("container_name");
@ -320,18 +325,18 @@ public class RawFoilServiceImpl implements RawFoilService {
if (ObjectUtil.isNotEmpty(task_jo)) { if (ObjectUtil.isNotEmpty(task_jo)) {
throw new BadRequestException("该生箔工单存在未完成的任务,请先完成任务!"); 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"); sbPointIvt.setFull_point_status("02");
jsonPoint.put("empty_point_status", "01"); sbPointIvt.setEmpty_point_status("01");
pointTab.update(jsonPoint); sbPointIvtMapper.updateById(sbPointIvt);
jsonRaw.put("status", "30"); rawfoilWorkOrder.setStatus("30");
jsonRaw.put("realend_time", DateUtil.now()); rawfoilWorkOrder.setFinish_type("02");
jsonRaw.put("finish_type", "02"); rawfoilWorkOrder.setUpdate_time(DateUtil.now());
stIvtCoolRegionIoService.update(jsonRaw); rawfoilWorkOrderMapper.updateById(rawfoilWorkOrder);
} else { } 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("product_area", stIvtSbpointivt.getProduct_area());
map.put("point_location", stIvtSbpointivt.getPoint_location()); map.put("point_location", stIvtSbpointivt.getPoint_location());
map.put("point_type", "1"); 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); List<CoolPointIvt> coolPointIvtList = coolPointIvtMapper.queryCoolPointIvt(map);
String start_pint_code = ""; String start_pint_code = "";
@ -453,6 +465,8 @@ public class RawFoilServiceImpl implements RawFoilService {
JSONObject map = new JSONObject(); JSONObject map = new JSONObject();
map.put("product_area", stIvtSbpointivt.getProduct_area()); map.put("product_area", stIvtSbpointivt.getProduct_area());
map.put("point_location", stIvtSbpointivt.getPoint_location()); 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); List<CoolPointIvt> coolPointIvtList = coolPointIvtMapper.queryCoolPointIvt(map);
String start_pint_code = ""; String start_pint_code = "";
//如果没找到则继续找下一节点 //如果没找到则继续找下一节点
@ -493,15 +507,16 @@ public class RawFoilServiceImpl implements RawFoilService {
List<RawfoilWorkOrder> rawfoilWorkOrderList = rawfoilWorkOrderMapper.selectList(new LambdaQueryWrapper<RawfoilWorkOrder>() List<RawfoilWorkOrder> rawfoilWorkOrderList = rawfoilWorkOrderMapper.selectList(new LambdaQueryWrapper<RawfoilWorkOrder>()
.eq(ObjectUtil.isNotEmpty(stIvtSbpointivt.getExt_code()), RawfoilWorkOrder::getResource_name, stIvtSbpointivt.getExt_code()) .eq(ObjectUtil.isNotEmpty(stIvtSbpointivt.getExt_code()), RawfoilWorkOrder::getResource_name, stIvtSbpointivt.getExt_code())
.eq(RawfoilWorkOrder::getStatus, "30")); .eq(RawfoilWorkOrder::getStatus, "30"));
if (CollectionUtil.isEmpty(rawfoilWorkOrderList)) { if (rawfoilWorkOrderList.size() > 0) {
throw new BadRequestException("工单状态不为开始生产"); throw new BadRequestException("该机台已经存在开始生产的工单,请先维护再重试!");
} }
if (StrUtil.equals("02", stIvtSbpointivt.getEmpty_point_status()) && StrUtil.equals("01", stIvtSbpointivt.getFull_point_status())) { if (StrUtil.equals("02", stIvtSbpointivt.getEmpty_point_status()) && StrUtil.equals("01", stIvtSbpointivt.getFull_point_status())) {
JSONObject map = new JSONObject(); JSONObject map = new JSONObject();
map.put("product_area", stIvtSbpointivt.getProduct_area()); map.put("product_area", stIvtSbpointivt.getProduct_area());
map.put("point_location", stIvtSbpointivt.getPoint_location()); 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); List<CoolPointIvt> coolPointIvtList = coolPointIvtMapper.queryCoolPointIvt(map);
String next_pint_code = ""; 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); 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; 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 @Override
public JSONObject printType(JSONObject whereJson) { public JSONObject printType(JSONObject whereJson) {
JSONArray rows = WQL.getWO("PDA_ST_01").addParam("flag", "6").process().getResultJSONArray(0); 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.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -78,4 +79,11 @@ public class RawfoilWorkOrderController {
rawfoilworkorderService.confirm(whereJson); rawfoilworkorderService.confirm(whereJson);
return new ResponseEntity<>(HttpStatus.OK); 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 / * @param whereJson /
*/ */
void confirm(JSONObject 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 FROM
ST_IVT_CoolPointIvt ivt ST_IVT_CoolPointIvt ivt
WHERE WHERE
ivt.empty_point_status = '02' ivt.empty_point_status = #{map.empty_point_status}
AND ivt.full_point_status = '01' AND ivt.full_point_status = #{map.full_point_status}
AND ivt.is_used = '1' AND ivt.is_used = '1'
<choose> <choose>
<when test="map.getString('point_type') != null and map.getString('point_type') != ''"> <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> 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.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> <if test="rawfoilWorkOrderDto.end_time!=null">and der.create_time &lt;= #{rawfoilWorkOrderDto.end_time}</if>
</where> </where>
order by der.container_name order by der.realstart_time,der.container_name
</select> </select>
<select id="queryRawFoil" resultType="org.nl.wms.pdm.rawfoilworkorder.service.dao.RawfoilWorkOrder" <select id="queryRawFoil" resultType="org.nl.wms.pdm.rawfoilworkorder.service.dao.RawfoilWorkOrder"
parameterType="com.alibaba.fastjson.JSONObject"> parameterType="com.alibaba.fastjson.JSONObject">
@ -46,10 +46,10 @@
AND der.product_area = #{map.product_area} AND der.product_area = #{map.product_area}
</if> </if>
</select> </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"> parameterType="com.alibaba.fastjson.JSONObject">
SELECT SELECT
CASE der.STATUS CASE der.status
WHEN '00' THEN '初始化' WHEN '00' THEN '初始化'
WHEN '10' THEN '配送中' WHEN '10' THEN '配送中'
WHEN '20' THEN '准备就绪' WHEN '20' THEN '准备就绪'
@ -85,7 +85,7 @@
<if test="map.getString('product_area') != null and map.getString('product_area') != ''"> <if test="map.getString('product_area') != null and map.getString('product_area') != ''">
AND der.product_area = #{map.product_area} AND der.product_area = #{map.product_area}
</if> </if>
order by der.container_name order by der.realstart_time,der.container_name
</select> </select>
</mapper> </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 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 com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; 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.StIvtSbpointivt;
import org.nl.b_lms.sch.point.dao.mapper.StIvtSbpointivtMapper; import org.nl.b_lms.sch.point.dao.mapper.StIvtSbpointivtMapper;
import org.nl.b_lms.sch.task.dao.SchBaseTask; 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.service.impl.UserAreaServiceImpl;
//import org.nl.wms.basedata.st.userarea.service.IUserAreaPermissionService; //import org.nl.wms.basedata.st.userarea.service.IUserAreaPermissionService;
//import org.nl.wms.basedata.st.userstor.service.dto.UserStorDto; //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.RawfoilWorkOrderService;
import org.nl.wms.pdm.rawfoilworkorder.service.dao.RawfoilWorkOrder; import org.nl.wms.pdm.rawfoilworkorder.service.dao.RawfoilWorkOrder;
import org.nl.wms.pdm.rawfoilworkorder.service.dao.mapper.RawfoilWorkOrderMapper; 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.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextId());
dto.setCreate_id(currentUserId); dto.setCreate_id(currentUserId);
dto.setCreate_name(nickName); dto.setCreate_name(nickName);
@ -137,10 +140,15 @@ public class RawfoilWorkOrderServiceImpl extends ServiceImpl<RawfoilWorkOrderMap
dto.setUpdate_time(now); dto.setUpdate_time(now);
dto.setCreate_time(now); dto.setCreate_time(now);
dto.setOrder_type("2"); dto.setOrder_type("2");
dto.setAgvno("0");
dto.setIs_delete("0"); dto.setIs_delete("0");
dto.setRealstart_time(DateUtil.now());
dto.setProduct_area(stIvtSbpointivt.getProduct_area()); dto.setProduct_area(stIvtSbpointivt.getProduct_area());
dto.setPoint_code(stIvtSbpointivt.getPoint_code()); dto.setPoint_code(stIvtSbpointivt.getPoint_code());
dto.setStatus("00"); dto.setStatus("00");
if (ObjectUtil.isEmpty(dto.getProductin_qty())){
dto.setProductin_qty(BigDecimal.valueOf(0));
}
rawfoilWorkOrderMapper.insert(dto); rawfoilWorkOrderMapper.insert(dto);
} }
@ -153,30 +161,10 @@ public class RawfoilWorkOrderServiceImpl extends ServiceImpl<RawfoilWorkOrderMap
throw new BadRequestException("被删除或无权限,操作失败!"); throw new BadRequestException("被删除或无权限,操作失败!");
} }
String container_name = dto.getContainer_name();
String currentUserId = SecurityUtils.getCurrentUserId(); String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName(); String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now(); 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"); 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); JSONObject josnMater = materTab.query("material_code ='" + dto.getProduct_name() + "' and is_delete = '0' and is_used = '1'").uniqueResult(0);
if (ObjectUtil.isEmpty(josnMater)) { if (ObjectUtil.isEmpty(josnMater)) {
@ -186,9 +174,6 @@ public class RawfoilWorkOrderServiceImpl extends ServiceImpl<RawfoilWorkOrderMap
dto.setUpdate_time(now); dto.setUpdate_time(now);
dto.setUpdate_optid(currentUserId); dto.setUpdate_optid(currentUserId);
dto.setUpdate_optname(nickName); dto.setUpdate_optname(nickName);
dto.setProduct_area(stIvtSbpointivt.getProduct_area());
dto.setPoint_code(stIvtSbpointivt.getPoint_code());
rawfoilWorkOrderMapper.updateById(dto); rawfoilWorkOrderMapper.updateById(dto);
} }
@ -248,4 +233,27 @@ public class RawfoilWorkOrderServiceImpl extends ServiceImpl<RawfoilWorkOrderMap
rawfoilWorkOrderMapper.updateById(rawfoilWorkOrder); 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();
}
}
}
} }

166
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 cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.common.utils.SecurityUtils; 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.modules.wql.util.SpringContextHolder;
import org.nl.wms.pda.mps.eum.RegionTypeEnum; import org.nl.wms.pda.mps.eum.RegionTypeEnum;
import org.nl.wms.pda.mps.service.impl.BakingServiceImpl; 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.AcsTaskDto;
import org.nl.wms.sch.manage.AbstractAcsTask; import org.nl.wms.sch.manage.AbstractAcsTask;
import org.nl.wms.sch.manage.TaskStatusEnum; import org.nl.wms.sch.manage.TaskStatusEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@ -37,6 +46,14 @@ import java.util.List;
@Slf4j @Slf4j
public class CallEmpReelTask extends AbstractAcsTask { public class CallEmpReelTask extends AbstractAcsTask {
private final String THIS_CLASS = CallEmpReelTask.class.getName(); private final String THIS_CLASS = CallEmpReelTask.class.getName();
@Autowired
RawfoilWorkOrderMapper rawfoilWorkOrderMapper;
@Autowired
SbPointIvtMapper sbPointIvtMapper;
@Autowired
CoolPointIvtMapper coolPointIvtMapper;
@Override @Override
public List<AcsTaskDto> addTask() { public List<AcsTaskDto> addTask() {
@ -87,18 +104,25 @@ public class CallEmpReelTask extends AbstractAcsTask {
String currentUsername = SecurityUtils.getCurrentUsername(); 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"); String car_no = taskObj.getString("car_no");
if (StrUtil.isNotEmpty(car_no)) { if (StrUtil.isNotEmpty(car_no) && rawfoilWorkOrder != null) {
JSONObject update_jo = new JSONObject(); rawfoilWorkOrder.setAgvno(car_no);
update_jo.put("agvno", car_no); rawfoilWorkOrder.setUpdate_time(DateUtil.now());
rawTab.update(update_jo, "container_name ='" + jsonTask.getString("material_code") + "' AND status <> '09' AND is_delete = '0'").uniqueResult(0); rawfoilWorkOrderMapper.updateById(rawfoilWorkOrder);
} }
// 更新生箔工单称重信息 // 更新生箔工单称重信息
String weight = taskObj.getString("weight"); String weight = taskObj.getString("weight");
if (ObjectUtil.isNotEmpty(weight)) { if (ObjectUtil.isNotEmpty(weight) && rawfoilWorkOrder != null) {
JSONObject update_jo = new JSONObject(); rawfoilWorkOrder.setProductin_qty(new BigDecimal(weight));
update_jo.put("productin_qty", weight); rawfoilWorkOrder.setUpdate_time(DateUtil.now());
rawTab.update(update_jo, "container_name ='" + jsonTask.getString("material_code") + "' AND status <> '09' AND is_delete = '0'").uniqueResult(0); rawfoilWorkOrderMapper.updateById(rawfoilWorkOrder);
} }
if (StrUtil.equals(status, "0")) { if (StrUtil.equals(status, "0")) {
// 更新删除字段 // 更新删除字段
@ -107,11 +131,12 @@ public class CallEmpReelTask extends AbstractAcsTask {
taskTab.update(jsonTask); taskTab.update(jsonTask);
// 更新生箔工单状态为初始化、清除称重信息 // 更新生箔工单状态为初始化、清除称重信息
JSONObject jsonRaw = rawTab.query("container_name ='" + jsonTask.getString("material_code") + "' AND status <> '09' AND is_delete = '0'").uniqueResult(0); if (rawfoilWorkOrder != null) {
JSONObject update_jo = new JSONObject(); rawfoilWorkOrder.setStatus("00");
update_jo.put("status", "00"); rawfoilWorkOrder.setProductin_qty(new BigDecimal(0));
update_jo.put("productin_qty", 0); rawfoilWorkOrder.setUpdate_time(DateUtil.now());
rawTab.update(update_jo, "container_name ='" + jsonTask.getString("material_code") + "' AND status <> '09' AND is_delete = '0'"); rawfoilWorkOrderMapper.updateById(rawfoilWorkOrder);
}
} }
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
@ -122,104 +147,109 @@ public class CallEmpReelTask extends AbstractAcsTask {
} }
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { 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_code1 = jsonTask.getString("point_code1");
String point_code2 = jsonTask.getString("point_code2"); String point_code2 = jsonTask.getString("point_code2");
String point_code3 = jsonTask.getString("point_code3"); String point_code3 = jsonTask.getString("point_code3");
String point_code4 = jsonTask.getString("point_code4"); 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 ("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 ("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"))) { 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"))) { 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<>(); HashMap<String, String> map = new HashMap<>();
map.put("status", "40"); rawfoilWorkOrder.setStatus("40");
map.put("origin", "1"); rawfoilWorkOrder.setOrigin("1");
map.put("roll_status", "0"); rawfoilWorkOrder.setRoll_status("0");
map.put("realend_time", DateUtil.now()); rawfoilWorkOrder.setRealend_time(DateUtil.now());
map.put("update_optid", currentUserId + ""); rawfoilWorkOrder.setUpdate_optid(currentUserId);
map.put("update_optname", currentUsername); rawfoilWorkOrder.setUpdate_optname(currentUsername);
map.put("finish_type", "01"); rawfoilWorkOrder.setFinish_type("01");
map.put("update_time", DateUtil.now()); rawfoilWorkOrder.setUpdate_time(DateUtil.now());
WQLObject.getWQLObject("PDM_BI_RawFoilWorkOrder").update(map, "container_name = '" + jsonTask.getString("material_code") + "'"); rawfoilWorkOrderMapper.updateById(rawfoilWorkOrder);
}
// 更改任务状态为完成
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) { String fullStatus, String emptyStatus) {
JSONObject jsonSbIvt; SbPointIvt sbPointIvt;
if (fullPointCode.endsWith("M")) { 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 { } 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); throw new BadRequestException("未找到对应的点位: " + fullPointCode);
} }
if (fullStatus != null) jsonSbIvt.put("full_point_status", fullStatus); if (fullStatus != null) sbPointIvt.setFull_point_status(fullStatus);
if (emptyStatus != null) jsonSbIvt.put("empty_point_status", emptyStatus); if (emptyStatus != null) sbPointIvt.setEmpty_point_status(emptyStatus);
sbTab.update(jsonSbIvt); sbPointIvtMapper.updateById(sbPointIvt);
} }
private void updateIvtIvt(WQLObject ivtTab, String fullPointCode, private void updateIvtIvt(String fullPointCode,
String fullStatus, String emptyStatus, String fullStatus,
String instorageTime, String containerName, String emptyStatus,
String workorderId, String ivtQty) { RawfoilWorkOrder rawfoilWorkOrder) {
JSONObject jsonCoolIvt; CoolPointIvt coolPointIvt;
if (fullPointCode.endsWith("M")) { 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 { } 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); throw new BadRequestException("未找到对应的点位: " + fullPointCode);
} }
if (fullStatus != null) jsonCoolIvt.put("full_point_status", fullStatus); coolPointIvt.setFull_point_status(fullStatus);
if (emptyStatus != null) jsonCoolIvt.put("empty_point_status", emptyStatus); coolPointIvt.setEmpty_point_status(emptyStatus);
if (instorageTime != null) jsonCoolIvt.put("instorage_time", instorageTime); if (rawfoilWorkOrder != null) {
if (containerName != null) jsonCoolIvt.put("container_name", containerName); coolPointIvt.setInstorage_time(DateUtil.now());
if (workorderId != null) jsonCoolIvt.put("workorder_id", workorderId); coolPointIvt.setContainer_name(rawfoilWorkOrder.getContainer_name());
if (ivtQty != null) jsonCoolIvt.put("ivt_qty", ivtQty); coolPointIvt.setWorkorder_id(String.valueOf(rawfoilWorkOrder.getWorkorder_id()));
ivtTab.update(jsonCoolIvt); }
coolPointIvtMapper.updateById(coolPointIvt);
} }
@Override @Override

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

@ -110,65 +110,8 @@ public class CoolCutTask extends AbstractAcsTask {
String point_code3 = jsonTask.getString("point_code3"); String point_code3 = jsonTask.getString("point_code3");
String point_code4 = jsonTask.getString("point_code4"); String point_code4 = jsonTask.getString("point_code4");
String product_area = jsonTask.getString("product_area"); String product_area = jsonTask.getString("product_area");
//下空轴上满卷
if ("010301".equals(jsonTask.getString("task_type"))) { 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); JSONObject coolMst = ivtTab.query("task_id = '" + task_id + "'").uniqueResult(0);
coolMst.put("bill_status", "50"); coolMst.put("bill_status", "50");
@ -224,55 +167,19 @@ public class CoolCutTask extends AbstractAcsTask {
WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(map, "parent_container_name = '" + container_name + "'"); WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(map, "parent_container_name = '" + container_name + "'");
//回传MES //回传MES
JSONObject mom_jo = new JSONObject(); // JSONObject mom_jo = new JSONObject();
mom_jo.put("contain_name", container_name); // mom_jo.put("contain_name", container_name);
mom_jo.put("warehouse", "1"); // mom_jo.put("warehouse", "1");
//判断该接口是否需要回传 //判断该接口是否需要回传
JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'cutPlanMomRollDeliveryComplete'").uniqueResult(0); // 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"))) { // if (ObjectUtil.isNotEmpty(back_jo) && "1".equals(back_jo.getString("is_back"))) {
new LmsToMesServiceImpl().cutPlanMomRollDeliveryComplete(mom_jo); // new LmsToMesServiceImpl().cutPlanMomRollDeliveryComplete(mom_jo);
} // }
}
} }
//单送满卷
if ("010302".equals(jsonTask.getString("task_type"))) { 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); JSONObject coolMst = ivtTab.query("task_id = '" + task_id + "'").uniqueResult(0);
coolMst.put("bill_status", "50"); coolMst.put("bill_status", "50");
@ -316,10 +223,10 @@ public class CoolCutTask extends AbstractAcsTask {
if (ObjectUtil.isNotEmpty(back_jo) && "1".equals(back_jo.getString("is_back"))) { if (ObjectUtil.isNotEmpty(back_jo) && "1".equals(back_jo.getString("is_back"))) {
new LmsToMesServiceImpl().cutPlanMomRollDeliveryComplete(mom_jo); new LmsToMesServiceImpl().cutPlanMomRollDeliveryComplete(mom_jo);
} }
}
} }
//空轴送回
if ("010303".equals(jsonTask.getString("task_type"))) { if ("010303".equals(jsonTask.getString("task_type"))) {
//更新分切区空轴库存 //更新分切区空轴库存
JSONObject cut_jo2 = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("empty_point_code = '" + point_code1 + "'").uniqueResult(0); JSONObject cut_jo2 = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("empty_point_code = '" + point_code1 + "'").uniqueResult(0);
@ -342,46 +249,12 @@ public class CoolCutTask extends AbstractAcsTask {
WQLObject.getWQLObject("st_ivt_coolpointivt").update(jsonCoolIvt2); 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"))) { if ("010304".equals(jsonTask.getString("task_type"))) {
//更新分切区空轴库存 //更新分切区空轴库存
String container_name = ""; String container_name = "";
//若起点是ST_IVT_CutPointIvt表 //若起点是ST_IVT_CutPointIvt表
JSONObject cut_jo2 = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("full_point_code = '" + point_code1 + "'").uniqueResult(0); 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"); container_name = cut_jo2.getString("container_name");
cut_jo2.put("full_point_status", "01"); cut_jo2.put("full_point_status", "01");
cut_jo2.put("full_vehicle_code", ""); cut_jo2.put("full_vehicle_code", "");
@ -390,7 +263,6 @@ public class CoolCutTask extends AbstractAcsTask {
cut_jo2.put("update_optname", currentUsername); cut_jo2.put("update_optname", currentUsername);
cut_jo2.put("update_time", DateUtil.now()); cut_jo2.put("update_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_CutPointIvt").update(cut_jo2); 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_optname", currentUsername);
jsonCoolIvt2.put("update_time", DateUtil.now()); jsonCoolIvt2.put("update_time", DateUtil.now());
WQLObject.getWQLObject("st_ivt_coolpointivt").update(jsonCoolIvt2); 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") + "'");
} }
} }

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

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

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

@ -189,25 +189,25 @@ public class InHotTask extends AbstractAcsTask {
} }
// 将入烘箱信息发送给mes // 将入烘箱信息发送给mes
JSONObject param = new JSONObject(); // JSONObject param = new JSONObject();
String userName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); // String userName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_USERNAME").getValue();
String passWord = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); // String passWord = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_PASSWORD").getValue();
param.put("iContainerName", jsonHotMst.getString("container_name")); // param.put("iContainerName", jsonHotMst.getString("container_name"));
param.put("iResourceName", hot_point_code); // param.put("iResourceName", hot_point_code);
param.put("iMoveInDate", DateUtil.now()); // param.put("iMoveInDate", DateUtil.now());
param.put("iPlanBakingTemperature", jsonHotMst.getDoubleValue("temperature")); // param.put("iPlanBakingTemperature", jsonHotMst.getDoubleValue("temperature"));
param.put("iPlanBakingTimer", jsonHotMst.getDoubleValue("oven_time")); // param.put("iPlanBakingTimer", jsonHotMst.getDoubleValue("oven_time"));
param.put("UserName", userName); // param.put("UserName", userName);
param.put("PassWord", passWord); // param.put("PassWord", passWord);
//判断该接口是否需要回传 //判断该接口是否需要回传
JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'momRollBakeInBound'").uniqueResult(0); // 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"))) { // if (ObjectUtil.isNotEmpty(back_jo) && "1".equals(back_jo.getString("is_back"))) {
String product_area = back_jo.getString("product_area"); // String product_area = back_jo.getString("product_area");
if (StrUtil.isNotEmpty(product_area) && product_area.contains(jsonTask.getString("product_area"))) { // if (StrUtil.isNotEmpty(product_area) && product_area.contains(jsonTask.getString("product_area"))) {
SpringContextHolder.getBean(LmsToMesService.class).momRollBakeInBound(param); // SpringContextHolder.getBean(LmsToMesService.class).momRollBakeInBound(param);
} // }
} // }
//将该母卷的入烘箱标识改为0 //将该母卷的入烘箱标识改为0
HashMap<String, String> map = new HashMap<>(); HashMap<String, String> map = new HashMap<>();
@ -271,11 +271,7 @@ public class InHotTask extends AbstractAcsTask {
} else { } else {
json.put("priority", priority_jo.getString("value")); json.put("priority", priority_jo.getString("value"));
} }
if (StrUtil.isNotEmpty(form.getString("point_code3"))) {
json.put("acs_task_type", "8"); json.put("acs_task_type", "8");
} else {
json.put("acs_task_type", "6");
}
tab.insert(json); tab.insert(json);
task_id = json.getString("task_id"); 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 // 将出烘箱信息发送给mes
JSONObject param = new JSONObject(); // JSONObject param = new JSONObject();
param.put("iContainerName", jsonHotMst.getString("container_name")); // param.put("iContainerName", jsonHotMst.getString("container_name"));
param.put("iResourceName", jsonHotIvt.getString("ext_code")); // param.put("iResourceName", jsonHotIvt.getString("ext_code"));
param.put("iMoveOutDate", DateUtil.now()); // param.put("iMoveOutDate", DateUtil.now());
param.put("iabxActualBakingTemperature", jsonHotMst.getDoubleValue("temperature")); // param.put("iabxActualBakingTemperature", jsonHotMst.getDoubleValue("temperature"));
param.put("iabxActualBakingTimer", jsonHotMst.getDoubleValue("oven_time")); // param.put("iabxActualBakingTimer", jsonHotMst.getDoubleValue("oven_time"));
//判断该接口是否需要回传 //判断该接口是否需要回传
JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'momRollBakeOutBound'").uniqueResult(0); // 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"))) { // if (ObjectUtil.isNotEmpty(back_jo) && "1".equals(back_jo.getString("is_back"))) {
String product_area = back_jo.getString("product_area"); // String product_area = back_jo.getString("product_area");
if (StrUtil.isNotEmpty(product_area) && product_area.contains(jsonTask.getString("product_area"))) { // if (StrUtil.isNotEmpty(product_area) && product_area.contains(jsonTask.getString("product_area"))) {
SpringContextHolder.getBean(LmsToMesService.class).momRollBakeOutBound(param); // 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>
<el-button
slot="right"
class="filter-item"
type="success"
icon="el-icon-printer"
size="mini"
@click="print"
>
打印
</el-button>
</crudOperation> </crudOperation>
<!--表单组件--> <!--表单组件-->
<el-dialog <el-dialog
@ -194,12 +204,12 @@
<el-row> <el-row>
<el-col :span="12"> <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-input v-model="form.productin_qty" style="width: 250px;" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="车号"> <el-form-item label="车号" prop="agvno">
<el-input v-model="form.agvno" style="width: 250px;" /> <el-input v-model="form.agvno" style="width: 250px;" />
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -207,8 +217,8 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="备注"> <el-form-item label="批次号" prop="pscn">
<el-input v-model="form.remark" style="width: 250px;" /> <el-input v-model="form.pscn" style="width: 250px;" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <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="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="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="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="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_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" /> <el-table-column prop="is_instor" label="请求入半成品库" :min-width="flexWidth('is_instor',crud.data,'请求入半成品库')" :formatter="formatStorIsOrNot" />
@ -256,8 +267,8 @@
<udOperation <udOperation
:data="scope.row" :data="scope.row"
:permission="permission" :permission="permission"
:disabled-dle="scope.row.status !== '01'" :disabled-dle="scope.row.status !== '00'"
:disabled-edit="scope.row.status !== '01'" :disabled-edit="scope.row.status !== '00'"
/> />
</template> </template>
</el-table-column> </el-table-column>
@ -305,7 +316,8 @@ const defaultForm = {
update_optid: null, update_optid: null,
update_optname: null, update_optname: null,
update_time: null, update_time: null,
is_delete: null is_delete: null,
pscn: null
} }
export default { export default {
name: 'Rawfoilworkorder', name: 'Rawfoilworkorder',
@ -359,6 +371,9 @@ export default {
], ],
p_coiler_date: [ p_coiler_date: [
{ required: true, message: '上卷开始时间不能为空', trigger: 'blur' } { 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.product_name = row.material_code
this.form.description = row.material_name 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() { weigh() {
const _selectData = this.$refs.table.selection const _selectData = this.$refs.table.selection
this.openParam = _selectData[0] 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) { export function compelEnd(data) {
return request({ return request({
url: 'api/rawfoilworkorder/compelEnd', 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>
<el-button
slot="right"
class="filter-item"
type="success"
icon="el-icon-printer"
size="mini"
@click="print"
>
打印
</el-button>
</crudOperation> </crudOperation>
<!--表单组件--> <!--表单组件-->
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="1200px"> <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) { cancel(row, index) {
row.show_edit = '0' 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) { save(row, index) {
row.show_edit = '0' row.show_edit = '0'
crudSlittingproductionplan.updates(row).then(res => { 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 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