diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/rest/SlittingproductionplanController.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/rest/SlittingproductionplanController.java index 1fe56f8..7ca3bb4 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/rest/SlittingproductionplanController.java +++ b/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 print( @RequestBody List list){ + biSlittingproductionplanService.print(list); + return new ResponseEntity<>(HttpStatus.CREATED); + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/IPdmBiSlittingproductionplanService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/IPdmBiSlittingproductionplanService.java index 3b584dd..390754f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/IPdmBiSlittingproductionplanService.java +++ b/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 list); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/impl/PdmBiSlittingproductionplanServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/impl/PdmBiSlittingproductionplanServiceImpl.java index ed092ff..a0ccb51 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/impl/PdmBiSlittingproductionplanServiceImpl.java +++ b/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 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(); + } + } + } } + diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/IstIvtCutpointivtService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/IstIvtCutpointivtService.java index 7fee1fc..47134ce 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/IstIvtCutpointivtService.java +++ b/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 getPintByPointCode(String code, boolean flag); + StIvtCutpointivt findByEmptyPointCode(String code); + + StIvtCutpointivt findByFullPointCode(String code); + /** * 通过外部设备码获取设备数据 * @param code ext_code diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/StIvtCutpointivtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/StIvtCutpointivtServiceImpl.java index 60924de..dc5cde2 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/StIvtCutpointivtServiceImpl.java +++ b/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 lam = new LambdaQueryWrapper<>(); + lam.eq(StIvtCutpointivt::getFull_point_code, code); + return stIvtCutpointivtMapper.selectOne(lam); + } + + @Override + public StIvtCutpointivt findByEmptyPointCode(String code) { + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + lam.eq(StIvtCutpointivt::getEmpty_point_code, code); + return stIvtCutpointivtMapper.selectOne(lam); + } + @Override public StIvtCutpointivt getPintByExtCode(String code, boolean flag) { LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java index 3bf4824..8408f29 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java +++ b/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) { diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java index c13f36d..07367a0 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java +++ b/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() +// .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("请扫描点位类型为出箱的烘箱对接位!"); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilServiceImpl.java index 5934fb8..72fc1fb 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilServiceImpl.java +++ b/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 rawfoilWorkOrderList = rawfoilWorkOrderMapper.queryRawFoilList(map); - PageInfo rawfoilWorkOrderPageInfo = new PageInfo<>(rawfoilWorkOrderList); + List rawfoilWorkOrderList = rawfoilWorkOrderMapper.queryRawFoilList(map); + PageInfo 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() .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() + .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() + .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 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 coolPointIvtList = coolPointIvtMapper.queryCoolPointIvt(map); String start_pint_code = ""; //如果没找到则继续找下一节点 @@ -493,15 +507,16 @@ public class RawFoilServiceImpl implements RawFoilService { List rawfoilWorkOrderList = rawfoilWorkOrderMapper.selectList(new LambdaQueryWrapper() .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 coolPointIvtList = coolPointIvtMapper.queryCoolPointIvt(map); String next_pint_code = ""; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/PrintService.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/PrintService.java index 709e8f1..1cf20fc 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/PrintService.java +++ b/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); + /** * 获取单据类型 * diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/PrintServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/PrintServiceImpl.java index d2e3f38..d54acc4 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/PrintServiceImpl.java +++ b/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); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/controller/RawfoilWorkOrderController.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/controller/RawfoilWorkOrderController.java index 87493fe..0bc75ce 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/controller/RawfoilWorkOrderController.java +++ b/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 print( @RequestBody List list){ + rawfoilworkorderService.print(list); + return new ResponseEntity<>(HttpStatus.CREATED); + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/RawfoilWorkOrderService.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/RawfoilWorkOrderService.java index 57d6417..e78d6b9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/RawfoilWorkOrderService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/RawfoilWorkOrderService.java @@ -73,4 +73,6 @@ public interface RawfoilWorkOrderService extends IService { * @param whereJson / */ void confirm(JSONObject whereJson); + + void print(List list); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/CoolPointIvtMapper.xml b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/CoolPointIvtMapper.xml index fa61f1f..28d9486 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/CoolPointIvtMapper.xml +++ b/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' diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/RawfoilWorkOrderMapper.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/RawfoilWorkOrderMapper.java index 5a93717..86efe93 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/RawfoilWorkOrderMapper.java +++ b/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 { List queryRawFoil(@Param("map") JSONObject map); - List queryRawFoilList(@Param("map") JSONObject map); + List queryRawFoilList(@Param("map") JSONObject map); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/RawfoilWorkOrderMapper.xml b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/RawfoilWorkOrderMapper.xml index a50101a..e91bea5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/RawfoilWorkOrderMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/RawfoilWorkOrderMapper.xml @@ -22,7 +22,7 @@ and der.create_time >= #{rawfoilWorkOrderDto.begin_time} and der.create_time <= #{rawfoilWorkOrderDto.end_time} - order by der.container_name + order by der.realstart_time,der.container_name - diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dto/RawfoilWorkOrderDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dto/RawfoilWorkOrderDto.java index 59eaf7a..d6baaf9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dto/RawfoilWorkOrderDto.java +++ b/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; + /** * 人员对应的区域 */ diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/impl/RawfoilWorkOrderServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/impl/RawfoilWorkOrderServiceImpl.java index f77fb81..717dfa7 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/impl/RawfoilWorkOrderServiceImpl.java +++ b/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() - .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 list) { + JSONObject print_info = WQLObject.getWQLObject("pdm_bi_printinfo").query("print_name = 'parentvolume_tag'").uniqueResult(0); + + for(int i=0;i 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() + .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 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 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() + .eq(SbPointIvt::getFull_point_code, fullPointCode)); } else { - jsonSbIvt = sbTab.query("empty_point_code = '" + fullPointCode + "'").uniqueResult(0); + sbPointIvt = sbPointIvtMapper.selectOne(new LambdaQueryWrapper() + .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() + .eq(CoolPointIvt::getFull_point_code, fullPointCode)); } else { - jsonCoolIvt = ivtTab.query("empty_point_code = '" + fullPointCode + "'").uniqueResult(0); + coolPointIvt = coolPointIvtMapper.selectOne(new LambdaQueryWrapper() + .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 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CoolCutTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CoolCutTask.java index 27ca43c..b19f632 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CoolCutTask.java +++ b/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 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 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 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 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 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; } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InCoolIvtTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InCoolIvtTask.java index 9d4828f..5dece46 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InCoolIvtTask.java +++ b/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 map = new HashMap<>(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InHotTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InHotTask.java index 233f454..2d1db19 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InHotTask.java +++ b/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 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"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutHotTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutHotTask.java index 0e979b2..ccbd2b8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutHotTask.java +++ b/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); +// } +// } } } diff --git a/lms/nladmin-ui/src/views/wms/pdm/order/rawfoilworkorder/index.vue b/lms/nladmin-ui/src/views/wms/pdm/order/rawfoilworkorder/index.vue index 6fcd734..4266ed2 100644 --- a/lms/nladmin-ui/src/views/wms/pdm/order/rawfoilworkorder/index.vue +++ b/lms/nladmin-ui/src/views/wms/pdm/order/rawfoilworkorder/index.vue @@ -106,6 +106,16 @@ > 称重 + + 打印 + - + - + @@ -207,8 +217,8 @@ - - + + @@ -247,6 +257,7 @@ + @@ -256,8 +267,8 @@ @@ -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] diff --git a/lms/nladmin-ui/src/views/wms/pdm/order/rawfoilworkorder/rawfoilworkorder.js b/lms/nladmin-ui/src/views/wms/pdm/order/rawfoilworkorder/rawfoilworkorder.js index 6a67c4b..7a36968 100644 --- a/lms/nladmin-ui/src/views/wms/pdm/order/rawfoilworkorder/rawfoilworkorder.js +++ b/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 } diff --git a/lms/nladmin-ui/src/views/wms/pdm/order/slittingplan/index.vue b/lms/nladmin-ui/src/views/wms/pdm/order/slittingplan/index.vue index 8b45aa5..c98eb0f 100644 --- a/lms/nladmin-ui/src/views/wms/pdm/order/slittingplan/index.vue +++ b/lms/nladmin-ui/src/views/wms/pdm/order/slittingplan/index.vue @@ -321,6 +321,16 @@ > 设置右卷 + + 打印 + @@ -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 => { diff --git a/lms/nladmin-ui/src/views/wms/pdm/order/slittingplan/slittingproductionplan.js b/lms/nladmin-ui/src/views/wms/pdm/order/slittingplan/slittingproductionplan.js index 862d266..a23fa59 100644 --- a/lms/nladmin-ui/src/views/wms/pdm/order/slittingplan/slittingproductionplan.js +++ b/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 }