diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/PdmBiSlittingproductionplan.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/PdmBiSlittingproductionplan.java index 70c0f31..db6eef4 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/PdmBiSlittingproductionplan.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/PdmBiSlittingproductionplan.java @@ -23,7 +23,7 @@ public class PdmBiSlittingproductionplan implements Serializable { @TableId(value = "workorder_id", type = IdType.NONE) /** 分切计划标识 */ - private String workorder_id; + private Long workorder_id; /** 分切订单类型 */ private String order_type; @@ -171,4 +171,11 @@ public class PdmBiSlittingproductionplan implements Serializable { /** 分切重量 */ private String paper_weight; + + /** 木箱物料编码 */ + private String box_code; + /** 木箱描述 */ + private String box_description; + /** 批次号 */ + private String pscn; } 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 218a276..28eee1f 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 @@ -55,7 +55,7 @@ public class PdmBiSlittingproductionplanServiceImpl extends ServiceImpl { +public class StIvtCoolregionio extends Model{ private static final long serialVersionUID = -7739291296662381393L; //@TableId(value = "id", type = IdType.NONE) 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 308bdae..bd813fb 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 @@ -2071,7 +2071,7 @@ public class SlitterServiceImpl implements SlitterService { PdmBiSlittingproductionplan plan = slittingproductionplanService.getByContainerNameNotStatus(containerName); if (ObjectUtil.isEmpty(plan)) { plan = new PdmBiSlittingproductionplan(); - plan.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextIdStr()); + plan.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextId()); } // 公共部分插入 plan.setOrder_type("1"); @@ -2498,7 +2498,7 @@ public class SlitterServiceImpl implements SlitterService { for (int i = 0; i < num; i++) { String containerName = area + code + "-" + i; PdmBiSlittingproductionplan plan = new PdmBiSlittingproductionplan(); - plan.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextIdStr()); + plan.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextId()); // 公共部分插入 plan.setOrder_type("1"); plan.setContainer_name(containerName); diff --git a/lms/nladmin-system/src/main/java/org/nl/common/base/PageInfo.java b/lms/nladmin-system/src/main/java/org/nl/common/base/PageInfo.java new file mode 100644 index 0000000..d9d2b9a --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/common/base/PageInfo.java @@ -0,0 +1,27 @@ +package org.nl.common.base; + +import lombok.Builder; +import lombok.Data; +import lombok.experimental.Accessors; +import org.apache.poi.ss.formula.functions.T; + +import java.io.Serializable; +import java.util.List; + +@Data +@Builder +@Accessors(chain = true) +public class PageInfo implements Serializable { + private long totalElements; + + + private List content; + + public PageInfo(long totalElements, List content) { + this.totalElements = totalElements; + this.content = content; + } + + public PageInfo() { + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/common/utils/PageUtil.java b/lms/nladmin-system/src/main/java/org/nl/modules/common/utils/PageUtil.java index cca05d4..d45fae2 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/common/utils/PageUtil.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/common/utils/PageUtil.java @@ -15,7 +15,11 @@ */ package org.nl.modules.common.utils; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.metadata.OrderItem; import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.Sort; import java.util.ArrayList; import java.util.LinkedHashMap; @@ -66,5 +70,22 @@ public class PageUtil extends cn.hutool.core.util.PageUtil { return map; } + public static IPage toMybatisPage(Pageable pageable) { + return toMybatisPage(pageable, false); + } + + public static IPage toMybatisPage(Pageable pageable, boolean ignoreOrderBy) { + com.baomidou.mybatisplus.extension.plugins.pagination.Page page = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(pageable.getPageNumber() + 1, pageable.getPageSize()); + if (!ignoreOrderBy) { + for (Sort.Order order : pageable.getSort()) { + OrderItem orderItem = new OrderItem(); + orderItem.setAsc(order.isAscending()); + orderItem.setColumn(com.baomidou.mybatisplus.core.toolkit.StringUtils.camelToUnderline(order.getProperty())); + page.addOrder(orderItem); + } + } + return page; + } + } diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/security/rest/DesUtil.java b/lms/nladmin-system/src/main/java/org/nl/modules/security/rest/DesUtil.java index 89f9a32..1d2c55a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/security/rest/DesUtil.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/security/rest/DesUtil.java @@ -1,129 +1,129 @@ -package org.nl.modules.security.rest; - +//package org.nl.modules.security.rest; // -// Source code recreated from a .class file by IntelliJ IDEA -// (powered by FernFlower decompiler) +//// +//// Source code recreated from a .class file by IntelliJ IDEA +//// (powered by FernFlower decompiler) +//// // - - -import sun.misc.BASE64Decoder; -import sun.misc.BASE64Encoder; - -import javax.crypto.Cipher; -import javax.crypto.SecretKey; -import javax.crypto.SecretKeyFactory; -import javax.crypto.spec.DESKeySpec; -import javax.crypto.spec.IvParameterSpec; -import java.io.IOException; -import java.security.SecureRandom; - -/** - * Des加密解密算法工具类 - */ -public class DesUtil { - //加密算法是des - private static final String ALGORITHM = "DES"; - //转换格式 - private static final String TRANSFORMATION = "DES/CBC/PKCS5Padding"; - - /** - * 加密 - * - * @param src 数据源 - * @param key 密钥,长度必须是8的倍数 - * @return 返回加密后的数据 - * @throws Exception 出错 - */ - public static byte[] encrypt(byte[] src, byte[] key) throws Exception { - // DES算法要求有一个可信任的随机数源 - SecureRandom sr = new SecureRandom(); - // 从原始密匙数据建立 DESKeySpec对象 - DESKeySpec dks = new DESKeySpec(key); - // 建立一个密匙工厂,然后用它把DESKeySpec转换成 - // 一个SecretKey对象 - SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(ALGORITHM); - SecretKey securekey = keyFactory.generateSecret(dks); - // Cipher对象实际完成加密操作 - Cipher cipher = Cipher.getInstance(TRANSFORMATION); - // 用密匙原始化Cipher对象 - cipher.init(Cipher.ENCRYPT_MODE, securekey, new IvParameterSpec(key)); - // 现在,获取数据并加密 - // 正式执行加密操作 - return cipher.doFinal(src); - } - - /** - * 解密 - * - * @param src 数据源 - * @param key 密钥,长度必须是8的倍数 - * @return 返回解密后的原始数据 - * @throws Exception 出错 - */ - public static byte[] decrypt(byte[] src, byte[] key) throws Exception { - // DES算法要求有一个可信任的随机数源 - SecureRandom sr = new SecureRandom(); - // 从原始密匙数据建立一个DESKeySpec对象 - DESKeySpec dks = new DESKeySpec(key); - // 建立一个密匙工厂,然后用它把DESKeySpec对象转换成 - // 一个SecretKey对象 - SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(ALGORITHM); - SecretKey securekey = keyFactory.generateSecret(dks); - // Cipher对象实际完成解密操作 - Cipher cipher = Cipher.getInstance(TRANSFORMATION); - // 用密匙原始化Cipher对象 - cipher.init(Cipher.DECRYPT_MODE, securekey, new IvParameterSpec(key)); - // 现在,获取数据并解密 - // 正式执行解密操作 - return cipher.doFinal(src); - } - - /** - * Description 根据键值进行加密 - * - * @param data - * @param key 加密键byte数组 - * @return - * @throws Exception - */ - public static String encrypt(String data, String key) throws Exception { - byte[] bt = encrypt(data.getBytes("UTF-8"), key.getBytes("UTF-8")); - - BASE64Encoder encoder = new BASE64Encoder(); - return encoder.encode(bt); - - //return new String(Base64.encodeBase64(bt), "UTF-8"); - } - - /** - * Description 根据键值进行解密 - * - * @param data - * @param key 加密键byte数组 - * @return - * @throws IOException - * @throws Exception - */ - public static String decrypt(String data, String key) throws Exception { - if (data == null) - return null; - BASE64Decoder decoder = new BASE64Decoder(); - byte[] buf = decoder.decodeBuffer(data); - - byte[] bt = decrypt(buf, key.getBytes("UTF-8")); - return new String(bt, "UTF-8"); - } - - - public static void main(String[] args) throws Exception { - //uL8fXioyU2M= - String key = "11111111"; - String pp = encrypt("123456", key); - System.out.println("加密:" + pp); - - String mm2 = decrypt(pp, key); - System.out.println("解密:" + mm2); - - } - -} +// +//import sun.misc.BASE64Decoder; +//import sun.misc.BASE64Encoder; +// +//import javax.crypto.Cipher; +//import javax.crypto.SecretKey; +//import javax.crypto.SecretKeyFactory; +//import javax.crypto.spec.DESKeySpec; +//import javax.crypto.spec.IvParameterSpec; +//import java.io.IOException; +//import java.security.SecureRandom; +// +///** +// * Des加密解密算法工具类 +// */ +//public class DesUtil { +// //加密算法是des +// private static final String ALGORITHM = "DES"; +// //转换格式 +// private static final String TRANSFORMATION = "DES/CBC/PKCS5Padding"; +// +// /** +// * 加密 +// * +// * @param src 数据源 +// * @param key 密钥,长度必须是8的倍数 +// * @return 返回加密后的数据 +// * @throws Exception 出错 +// */ +// public static byte[] encrypt(byte[] src, byte[] key) throws Exception { +// // DES算法要求有一个可信任的随机数源 +// SecureRandom sr = new SecureRandom(); +// // 从原始密匙数据建立 DESKeySpec对象 +// DESKeySpec dks = new DESKeySpec(key); +// // 建立一个密匙工厂,然后用它把DESKeySpec转换成 +// // 一个SecretKey对象 +// SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(ALGORITHM); +// SecretKey securekey = keyFactory.generateSecret(dks); +// // Cipher对象实际完成加密操作 +// Cipher cipher = Cipher.getInstance(TRANSFORMATION); +// // 用密匙原始化Cipher对象 +// cipher.init(Cipher.ENCRYPT_MODE, securekey, new IvParameterSpec(key)); +// // 现在,获取数据并加密 +// // 正式执行加密操作 +// return cipher.doFinal(src); +// } +// +// /** +// * 解密 +// * +// * @param src 数据源 +// * @param key 密钥,长度必须是8的倍数 +// * @return 返回解密后的原始数据 +// * @throws Exception 出错 +// */ +// public static byte[] decrypt(byte[] src, byte[] key) throws Exception { +// // DES算法要求有一个可信任的随机数源 +// SecureRandom sr = new SecureRandom(); +// // 从原始密匙数据建立一个DESKeySpec对象 +// DESKeySpec dks = new DESKeySpec(key); +// // 建立一个密匙工厂,然后用它把DESKeySpec对象转换成 +// // 一个SecretKey对象 +// SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(ALGORITHM); +// SecretKey securekey = keyFactory.generateSecret(dks); +// // Cipher对象实际完成解密操作 +// Cipher cipher = Cipher.getInstance(TRANSFORMATION); +// // 用密匙原始化Cipher对象 +// cipher.init(Cipher.DECRYPT_MODE, securekey, new IvParameterSpec(key)); +// // 现在,获取数据并解密 +// // 正式执行解密操作 +// return cipher.doFinal(src); +// } +// +// /** +// * Description 根据键值进行加密 +// * +// * @param data +// * @param key 加密键byte数组 +// * @return +// * @throws Exception +// */ +// public static String encrypt(String data, String key) throws Exception { +// byte[] bt = encrypt(data.getBytes("UTF-8"), key.getBytes("UTF-8")); +// +// BASE64Encoder encoder = new BASE64Encoder(); +// return encoder.encode(bt); +// +// //return new String(Base64.encodeBase64(bt), "UTF-8"); +// } +// +// /** +// * Description 根据键值进行解密 +// * +// * @param data +// * @param key 加密键byte数组 +// * @return +// * @throws IOException +// * @throws Exception +// */ +// public static String decrypt(String data, String key) throws Exception { +// if (data == null) +// return null; +// BASE64Decoder decoder = new BASE64Decoder(); +// byte[] buf = decoder.decodeBuffer(data); +// +// byte[] bt = decrypt(buf, key.getBytes("UTF-8")); +// return new String(bt, "UTF-8"); +// } +// +// +// public static void main(String[] args) throws Exception { +// //uL8fXioyU2M= +// String key = "11111111"; +// String pp = encrypt("123456", key); +// System.out.println("加密:" + pp); +// +// String mm2 = decrypt(pp, key); +// System.out.println("解密:" + mm2); +// +// } +// +//} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/BakingController.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/BakingController.java index f244b8e..891fafc 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/BakingController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/BakingController.java @@ -42,12 +42,18 @@ public class BakingController { return new ResponseEntity<>(bakingService.inCoolIvt(whereJson), HttpStatus.OK); } - @PostMapping("/release") + @PostMapping("/reBake") @Log("解警") - public ResponseEntity release(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(bakingService.release(whereJson), HttpStatus.OK); + public ResponseEntity reBake(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(bakingService.reBake(whereJson), HttpStatus.OK); } + @PostMapping("/inCoolOrOven") + @Log("质检不合格") + + public ResponseEntity inCoolOrOven(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(bakingService.inCoolOrOven(whereJson), HttpStatus.OK); + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/FeedingController.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/FeedingController.java index afd6e6d..7ba17c4 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/FeedingController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/FeedingController.java @@ -32,13 +32,6 @@ public class FeedingController { return new ResponseEntity<>(feedingService.queryMaterialInfo(whereJson, ctx), HttpStatus.OK); } - @PostMapping("/confirm") - @Log("呼叫母卷") - - public ResponseEntity confirm(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(feedingService.confirm(whereJson), HttpStatus.OK); - } - @PostMapping("/queryPoint") @Log("扫码起点获取母卷") diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/RawFoilController.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/RawFoilController.java index 2467484..d982516 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/RawFoilController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/RawFoilController.java @@ -100,4 +100,28 @@ public class RawFoilController { rawFoilService.finish(whereJson); return new ResponseEntity<>(HttpStatus.OK); } + + @PostMapping("/start") + @Log("开始生箔工单") + + public ResponseEntity start(@RequestBody JSONObject whereJson) { + rawFoilService.start(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } + @PostMapping("/scrollDowm") + @Log("下卷") + + public ResponseEntity scrollDowm(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(rawFoilService.scrollDowm(whereJson), HttpStatus.OK); + } + + @PostMapping("/query") + @Log("查询冷却区生箔情况") + + public ResponseEntity query(@RequestBody JSONObject whereJson) { + HttpContext ctx = new HttpContext("11"); + ctx.setPage((String) (whereJson.get("page"))); + ctx.setRows((String) (whereJson.get("size"))); + return new ResponseEntity<>(rawFoilService.query(whereJson, ctx), HttpStatus.OK); + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/BakingService.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/BakingService.java index 178c71d..3e52dbb 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/BakingService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/BakingService.java @@ -20,8 +20,16 @@ public interface BakingService { */ JSONObject inCoolIvt(JSONObject whereJson); - JSONObject release(JSONObject whereJson); + JSONObject reBake(JSONObject whereJson); JSONObject query(JSONObject whereJson); + + /** + * 母卷质检 + * + * @param whereJson / + * @return JSONObject + */ + JSONObject inCoolOrOven(JSONObject whereJson); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/FeedingService.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/FeedingService.java index ea279ae..e1af5cb 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/FeedingService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/FeedingService.java @@ -13,13 +13,6 @@ public interface FeedingService { */ JSONObject queryMaterialInfo(JSONObject whereJson, HttpContext ctx); - /** - * 套轴确认 - * - * @param whereJson / - * @return JSONObject - */ - JSONObject confirm(JSONObject whereJson); /** * 套轴确认 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/RawFoilService.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/RawFoilService.java index d607610..d2476e0 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/RawFoilService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/RawFoilService.java @@ -1,7 +1,9 @@ package org.nl.wms.pda.mps.service; import com.alibaba.fastjson.JSONObject; +import com.github.pagehelper.PageInfo; import org.nl.modules.wql.core.content.HttpContext; +import org.nl.wms.pdm.rawfoilworkorder.service.dao.RawfoilWorkOrder; public interface RawFoilService { @@ -62,7 +64,7 @@ public interface RawFoilService { JSONObject needEmptyVehicle(JSONObject whereJson); /** - * 下卷确认 + * 准备就绪 * * @param whereJson / * @return JSONObject @@ -84,4 +86,22 @@ public interface RawFoilService { * @return JSONObject */ JSONObject finish(JSONObject whereJson); + + /** + * 下卷 + * + * @param whereJson / + * @return JSONObject + */ + JSONObject scrollDowm(JSONObject whereJson); + + /** + * 开始工单 + * + * @param whereJson / + * @return JSONObject + */ + JSONObject start(JSONObject whereJson); + + JSONObject query(JSONObject whereJson, HttpContext ctx); } 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 7ee4774..6428d7c 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 @@ -29,6 +29,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.HashMap; + @Service @RequiredArgsConstructor @Slf4j @@ -79,8 +81,8 @@ public class BakingServiceImpl implements BakingService { String point_code1 = whereJson.getString("point_code"); // 点位 //查询该点位是否存在未完成的任务 JSONObject hasTask = WQLObject.getWQLObject("SCH_BASE_Task").query("point_code1 = '" + point_code1 + "' AND task_status < '07' AND is_delete = '0'").uniqueResult(0); - if (hasTask!=null) { - throw new BadRequestException("当前点位"+point_code1+"存在正在执行的任务"+hasTask.getString("task_code")); + if (hasTask != null) { + throw new BadRequestException("当前点位" + point_code1 + "存在正在执行的任务" + hasTask.getString("task_code")); } //校验该设备是否启用,且母卷MES是否请求烘烤 //查询该母卷号、设备号对应的生箔工单 @@ -116,15 +118,12 @@ public class BakingServiceImpl implements BakingService { } /* - * 根据点位判断是 冷却区入烘箱还是暂存区(对接位)入烘箱 + * 根据点位判断是 冷却区入烘箱还是烘箱对接位入烘箱 */ - JSONObject jsonPointZc = pointTab.query("point_code = '" + point_code1 + "'").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 + "' AND point_type = '3'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(jsonPointZc) || ObjectUtil.isNotEmpty(cool_jo)) { - if (ObjectUtil.isEmpty(jsonPointZc)) { - jsonPointZc = cool_jo; - } + JSONObject cool_jo = coolIvtTab.query("point_code = '" + point_code1 + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(jsonPointZc)) { if (!in_area_id.contains(jsonPointZc.getString("product_area"))) { throw new BadRequestException("当前登录人员暂无【" + jsonPointZc.getString("product_area") + "】操作权限"); } @@ -139,51 +138,23 @@ public class BakingServiceImpl implements BakingService { jsonMap.put("point_location", jsonPointZc.getString("point_location")); JSONArray hot_rows = WQL.getWO("PDA_BAKING_01").addParamMap(jsonMap).process().getResultJSONArray(0); JSONObject jsonHotIvt = new JSONObject(); - log.debug("获取温度幅度hot_rows:"+hot_rows); + log.debug("获取温度幅度hot_rows:" + hot_rows); for (int i = 0; i < hot_rows.size(); i++) { JSONObject hot_row = hot_rows.getJSONObject(i); String point_code = hot_row.getString("point_code"); boolean exists = redisUtils.hHasKey(point_code, "temperature"); String point_temperature = ""; - if(exists){ + if (exists) { point_temperature = (String) redisUtils.hget(point_code, "temperature"); } if (ObjectUtil.isNotEmpty(point_temperature)) { if (point_temperature.equals(temperature)) { jsonHotIvt = hot_row; - log.debug("获取满足温度幅度jsonHotIvt:"+jsonHotIvt); + log.debug("获取满足温度幅度jsonHotIvt:" + jsonHotIvt); break; } } } - - if (ObjectUtil.isEmpty(jsonHotIvt)) { - //如果属于B1的烘箱,变更位置再查询 - if (ObjectUtil.isNotEmpty(cool_jo) && cool_jo.getString("product_area").equals("B1")) { - jsonMap.put("point_location", jsonPointZc.getString("point_location").equals("0") ? "1" : "0"); - hot_rows = WQL.getWO("PDA_BAKING_01").addParamMap(jsonMap).process().getResultJSONArray(0); - for (int i = 0; i < hot_rows.size(); i++) { - JSONObject hot_row = hot_rows.getJSONObject(i); - String point_code = hot_row.getString("point_code"); - boolean exists = redisUtils.hHasKey(point_code, "temperature"); - String point_temperature = ""; - if(exists){ - point_temperature = (String) redisUtils.hget(point_code, "temperature"); - } - if (ObjectUtil.isNotEmpty(point_temperature)) { - if (point_temperature.equals(temperature)) { - jsonHotIvt = hot_row; - break; - } - } - } - if (ObjectUtil.isEmpty(jsonHotIvt)) { - throw new BadRequestException("烘烤区没有合适温度的空位!"); - } - } else { - throw new BadRequestException("烘烤区没有合适温度的空位!"); - } - } // 2.创建暂存位 --> 烘烤区任务 JSONObject param = new JSONObject(); param.put("type", "2"); // 1- 冷却区入烘箱 2- 暂存位入烘箱 @@ -217,7 +188,7 @@ public class BakingServiceImpl implements BakingService { hotParam.put("temperature", temperature); hotParam.put("oven_time", hours); this.createHotIoMst(hotParam); - } else { + } else if (ObjectUtil.isNotEmpty(cool_jo)) { /* * 冷却区入烘箱 */ @@ -225,13 +196,6 @@ public class BakingServiceImpl implements BakingService { // 1.根据冷却区此母卷的点位找到对应的暂存区、找到空位 // 根据标箔/锂电判断类型 String point_type = "1"; - if (raw_jo.getString("product_area").equals("B2")) { - String orderType = raw_jo.getString("order_type"); - // order_type 1-标箔;2-锂电 - if ("2".equals(orderType)) { - point_type = "4"; - } - } // 冷却点 JSONObject jsonCoolIvt = coolIvtTab.query("full_point_code = '" + point_code1 + "' and is_used = '1' AND point_type = '" + point_type + "'").uniqueResult(0); if (ObjectUtil.isEmpty(jsonCoolIvt)) { @@ -371,6 +335,8 @@ public class BakingServiceImpl implements BakingService { jsonCool.put("confirm_optname", currentUsername); jsonCool.put("confirm_time", DateUtil.now()); coolTab.insert(jsonCool); + } else { + throw new BadRequestException("请扫描正确的冷却区点位或对接点位!"); } } else if (StrUtil.equals(option, "2")) { // 出箱 @@ -393,167 +359,106 @@ public class BakingServiceImpl implements BakingService { } // 1.查询暂存位有没有空位 String product_area = jsonHotIvt.getString("product_area"); - - //判断区域是否属于B1,B1的出烘箱流程出到对应的半成品区 - if ("B1".equals(product_area)) { - JSONObject jsonRaw = rawTab.query("container_name = '" + jsonHotIvt.getString("container_name") + "' and is_delete = '0'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonRaw)) { - throw new BadRequestException("未查询到母卷号:" + jsonHotIvt.getString("container_name") + "对应的生箔工单!"); - } - JSONObject jsonMater = materTab.query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonMater)) { - throw new BadRequestException("物料基础信息中无此物料!"); - } - - //查询当前点位为空且没有任务的桁架内缓存点 - JSONObject cache_param = new JSONObject(); - cache_param.put("flag", "4"); - cache_param.put("point_location", jsonHotIvt.getString("point_location")); - cache_param.put("product_area", jsonHotIvt.getString("product_area")); - JSONObject cache_jo = WQL.getWO("PDA_COOLIN").addParamMap(cache_param).process().uniqueResult(0); - if (ObjectUtil.isEmpty(cache_jo)) { - throw new BadRequestException("桁架范围内没有可用的空点位,请检查库存!"); - } - - // 3.创建任务 - JSONObject param = new JSONObject(); - param.put("point_code1", point_code1); - param.put("point_code2", cache_jo.getString("point_code")); - param.put("material_code", jsonHotIvt.getString("container_name")); - param.put("product_area", jsonHotIvt.getString("product_area")); - OutHotTask outHotTask = new OutHotTask(); - String task_id = outHotTask.createTask(param); - - //查询该母卷对应最近的一条入烘箱记录 - JSONObject last_hot_mst = WQLObject.getWQLObject("ST_IVT_HotRegionIOMst").query("container_name = '" + jsonHotIvt.getString("container_name") + "' AND io_type = '0' order by confirm_time desc").uniqueResult(0); - - JSONObject hotParam = new JSONObject(); - hotParam.put("container_name", jsonRaw.getString("container_name")); - hotParam.put("workorder_id", jsonRaw.getString("workorder_id")); - hotParam.put("material_id", jsonMater.getString("material_id")); - hotParam.put("qty", jsonRaw.get("qty")); - hotParam.put("io_type", "1"); - hotParam.put("qty_unit_id", jsonMater.getString("base_unit_id")); - hotParam.put("task_id", task_id); - hotParam.put("start_point_code", point_code1); - hotParam.put("end_point_code", cache_jo.getString("point_code")); - boolean exists = redisUtils.hHasKey(point_code1, "temperature"); - String point_temperature = ""; - if(exists){ - point_temperature = (String) redisUtils.hget(point_code1, "temperature"); - }else{ - throw new BadRequestException("当前操作点位设备:"+point_code1+",无法获取温度,请稍后再试!"); - } - hotParam.put("temperature", point_temperature); - - if (ObjectUtil.isEmpty(last_hot_mst)) { - hotParam.put("oven_time", "480"); - } else { - hotParam.put("oven_time", last_hot_mst.getString("oven_time")); - } - this.createHotIoMst(hotParam); - } else { - // 出烘箱,创建桁架任务到对接位 - if (!in_area_id.contains(product_area)) { - throw new BadRequestException("当前登录人员暂无【" + product_area + "】操作权限"); - } - String reging_id = ""; - switch (product_area) { - case "A1": - reging_id = RegionTypeEnum.A_HKZC.getId(); - break; - case "A2": - reging_id = RegionTypeEnum.B_HKZC.getId(); - break; - case "A3": - reging_id = RegionTypeEnum.C_HKZC.getId(); - break; - case "A4": - reging_id = RegionTypeEnum.D_HKZC.getId(); - break; - case "B2": - reging_id = RegionTypeEnum.B2_HKZC.getId(); - break; - default: - break; - } - JSONObject map = new JSONObject(); - map.put("flag", "1"); - map.put("reging_id", reging_id); - map.put("point_location", jsonHotIvt.getString("point_location")); - //只找出箱点位 - map.put("point_type", "5"); - - JSONArray pointArr = WQL.getWO("PDA_OVENINANDOUT_01").addParamMap(map).process().getResultJSONArray(0); - if (ObjectUtil.isEmpty(pointArr)) { - throw new BadRequestException("没有无货且没有任务的点位类型为出箱的烘箱对接位!"); - } - - // 2.判断暂存位是否有任务:找到无任务的暂存位 - String point_code2 = ""; - for (int i = 0; i < pointArr.size(); i++) { - JSONObject jsonPoint = pointArr.getJSONObject(i); - String point_code = jsonPoint.getString("point_code"); - - JSONObject json_point_code1 = taskTab.query("point_code1 = '" + point_code + "' and task_status != '07' and is_delete = '0'").uniqueResult(0); - JSONObject json_point_code2 = taskTab.query("point_code2 = '" + point_code + "' and task_status != '07' and is_delete = '0'").uniqueResult(0); - JSONObject json_point_code3 = taskTab.query("point_code3 = '" + point_code + "' and task_status != '07' and is_delete = '0'").uniqueResult(0); - JSONObject json_point_code4 = taskTab.query("point_code4 = '" + point_code + "' and task_status != '07' and is_delete = '0'").uniqueResult(0); - if (ObjectUtil.isEmpty(json_point_code1) && ObjectUtil.isEmpty(json_point_code2) && ObjectUtil.isEmpty(json_point_code3) && ObjectUtil.isEmpty(json_point_code4)) { - point_code2 = point_code; - break; - } - } - if (ObjectUtil.isEmpty(point_code2)) { - throw new BadRequestException("没有无货且没有任务的点位类型为出箱的烘箱对接位!"); - } - - // 3.创建任务 - JSONObject param = new JSONObject(); - param.put("point_code1", point_code1); - param.put("point_code2", point_code2); - param.put("material_code", jsonHotIvt.getString("container_name")); - param.put("product_area", jsonHotIvt.getString("product_area")); - OutHotTask outHotTask = new OutHotTask(); - String task_id = outHotTask.createTask(param); - - JSONObject jsonRaw = rawTab.query("container_name = '" + jsonHotIvt.getString("container_name") + "' and is_delete = '0'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonRaw)) { - throw new BadRequestException("未查询到母卷号:" + jsonHotIvt.getString("container_name") + "对应的生箔工单!"); - } - JSONObject jsonMater = materTab.query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonMater)) { - throw new BadRequestException("物料基础信息中无此物料!"); - } - - //查询该母卷对应最近的一条入烘箱记录 - JSONObject last_hot_mst = WQLObject.getWQLObject("ST_IVT_HotRegionIOMst").query("container_name = '" + jsonHotIvt.getString("container_name") + "' AND io_type = '0' order by confirm_time desc").uniqueResult(0); - - JSONObject hotParam = new JSONObject(); - hotParam.put("container_name", jsonRaw.getString("container_name")); - hotParam.put("workorder_id", jsonRaw.getString("workorder_id")); - hotParam.put("material_id", jsonMater.getString("material_id")); - hotParam.put("qty", jsonRaw.get("qty")); - hotParam.put("io_type", "1"); - hotParam.put("qty_unit_id", jsonMater.getString("base_unit_id")); - hotParam.put("task_id", task_id); - hotParam.put("start_point_code", point_code1); - hotParam.put("end_point_code", point_code2); - boolean exists = redisUtils.hHasKey(point_code1, "temperature"); - String point_temperature = ""; - if(exists){ - point_temperature = (String) redisUtils.hget(point_code1, "temperature"); - }else{ - throw new BadRequestException("当前操作点位设备:"+point_code1+",无法获取温度,请稍后再试!"); - } - hotParam.put("temperature", point_temperature); - if (ObjectUtil.isEmpty(last_hot_mst)) { - hotParam.put("oven_time", "480"); - } else { - hotParam.put("oven_time", last_hot_mst.getString("oven_time")); - } - this.createHotIoMst(hotParam); + // 出烘箱,创建桁架任务到对接位 + if (!in_area_id.contains(product_area)) { + throw new BadRequestException("当前登录人员暂无【" + product_area + "】操作权限"); } + String reging_id = ""; + switch (product_area) { + case "A1": + reging_id = RegionTypeEnum.A_HKZC.getId(); + break; + case "A2": + reging_id = RegionTypeEnum.B_HKZC.getId(); + break; + case "A3": + reging_id = RegionTypeEnum.C_HKZC.getId(); + break; + case "A4": + reging_id = RegionTypeEnum.D_HKZC.getId(); + break; + case "B2": + reging_id = RegionTypeEnum.B2_HKZC.getId(); + break; + default: + break; + } + JSONObject map = new JSONObject(); + map.put("flag", "1"); + map.put("reging_id", reging_id); + map.put("point_location", jsonHotIvt.getString("point_location")); + //只找出箱点位 + map.put("point_type", "5"); + + JSONArray pointArr = WQL.getWO("PDA_OVENINANDOUT_01").addParamMap(map).process().getResultJSONArray(0); + if (ObjectUtil.isEmpty(pointArr)) { + throw new BadRequestException("没有无货且没有任务的点位类型为出箱的烘箱对接位!"); + } + + // 2.判断暂存位是否有任务:找到无任务的暂存位 + String point_code2 = ""; + for (int i = 0; i < pointArr.size(); i++) { + JSONObject jsonPoint = pointArr.getJSONObject(i); + String point_code = jsonPoint.getString("point_code"); + + JSONObject json_point_code1 = taskTab.query("point_code1 = '" + point_code + "' and task_status != '07' and is_delete = '0'").uniqueResult(0); + JSONObject json_point_code2 = taskTab.query("point_code2 = '" + point_code + "' and task_status != '07' and is_delete = '0'").uniqueResult(0); + JSONObject json_point_code3 = taskTab.query("point_code3 = '" + point_code + "' and task_status != '07' and is_delete = '0'").uniqueResult(0); + JSONObject json_point_code4 = taskTab.query("point_code4 = '" + point_code + "' and task_status != '07' and is_delete = '0'").uniqueResult(0); + if (ObjectUtil.isEmpty(json_point_code1) && ObjectUtil.isEmpty(json_point_code2) && ObjectUtil.isEmpty(json_point_code3) && ObjectUtil.isEmpty(json_point_code4)) { + point_code2 = point_code; + break; + } + } + if (ObjectUtil.isEmpty(point_code2)) { + throw new BadRequestException("没有无货且没有任务的点位类型为出箱的烘箱对接位!"); + } + + // 3.创建任务 + JSONObject param = new JSONObject(); + param.put("point_code1", point_code1); + param.put("point_code2", point_code2); + param.put("material_code", jsonHotIvt.getString("container_name")); + param.put("product_area", jsonHotIvt.getString("product_area")); + OutHotTask outHotTask = new OutHotTask(); + String task_id = outHotTask.createTask(param); + + JSONObject jsonRaw = rawTab.query("container_name = '" + jsonHotIvt.getString("container_name") + "' and is_delete = '0'").uniqueResult(0); + if (ObjectUtil.isEmpty(jsonRaw)) { + throw new BadRequestException("未查询到母卷号:" + jsonHotIvt.getString("container_name") + "对应的生箔工单!"); + } + JSONObject jsonMater = materTab.query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(jsonMater)) { + throw new BadRequestException("物料基础信息中无此物料!"); + } + + //查询该母卷对应最近的一条入烘箱记录 + JSONObject last_hot_mst = WQLObject.getWQLObject("ST_IVT_HotRegionIOMst").query("container_name = '" + jsonHotIvt.getString("container_name") + "' AND io_type = '0' order by confirm_time desc").uniqueResult(0); + + JSONObject hotParam = new JSONObject(); + hotParam.put("container_name", jsonRaw.getString("container_name")); + hotParam.put("workorder_id", jsonRaw.getString("workorder_id")); + hotParam.put("material_id", jsonMater.getString("material_id")); + hotParam.put("qty", jsonRaw.get("qty")); + hotParam.put("io_type", "1"); + hotParam.put("qty_unit_id", jsonMater.getString("base_unit_id")); + hotParam.put("task_id", task_id); + hotParam.put("start_point_code", point_code1); + hotParam.put("end_point_code", point_code2); + boolean exists = redisUtils.hHasKey(point_code1, "temperature"); + String point_temperature = ""; + if (exists) { + point_temperature = (String) redisUtils.hget(point_code1, "temperature"); + } else { + throw new BadRequestException("当前操作点位设备:" + point_code1 + ",无法获取温度,请稍后再试!"); + } + hotParam.put("temperature", point_temperature); + if (ObjectUtil.isEmpty(last_hot_mst)) { + hotParam.put("oven_time", "480"); + } else { + hotParam.put("oven_time", last_hot_mst.getString("oven_time")); + } + this.createHotIoMst(hotParam); } JSONObject result = new JSONObject(); result.put("message", "操作成功!"); @@ -575,7 +480,7 @@ public class BakingServiceImpl implements BakingService { String point_code = hot_row.getString("point_code"); boolean exists = redisUtils.hHasKey(point_code, "temperature"); String point_temperature = ""; - if(exists){ + if (exists) { point_temperature = (String) redisUtils.hget(point_code, "temperature"); } if (ObjectUtil.isNotEmpty(point_temperature)) { @@ -629,106 +534,83 @@ public class BakingServiceImpl implements BakingService { throw new BadRequestException("该母卷在MES上未进行决策入半成品库,不允许进行入冷却操作!"); } - if (sb_jo.getString("product_area").equals("B1")) { - HandleBakingService bakingService = SpringContextHolder.getBean(HandleBakingService.class); - bakingService.checkConfirm(whereJson); - } else { - // 1.获取此暂存位的生产区域和上下位置 - JSONObject jsonPoint = pointTab.query("point_code = '" + point_code1 + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonPoint)) { - throw new BadRequestException("请扫描点位类型为出箱的烘箱对接位!"); - } - - if (!in_area_id.contains(jsonPoint.getString("product_area"))) { - throw new BadRequestException("当前登录人员暂无【" + jsonPoint.getString("product_area") + "】操作权限"); - } - // 2.找冷却区空货位 - JSONObject map = new JSONObject(); - map.put("flag", "2"); - map.put("product_area", jsonPoint.getString("product_area")); - if (!jsonPoint.getString("product_area").equals("B2")) { - map.put("point_location", jsonPoint.getString("point_location")); - } - map.put("point_type", "1"); - // B2出来要根据锂电或者标箔去不同地方(状态5) - String orderType = raw_jo.getString("order_type"); - JSONObject lithiumPoint = null; - String endPointCode = null; - if (jsonPoint.getString("product_area").equals("B2")) { - // order_type 1-标箔;2-锂电 - if ("2".equals(orderType)) { - map.put("point_type", "5"); - // 如果是B2锂电就优先去表处中转区 - lithiumPoint = WQL.getWO("PDA_OVENINANDOUT_01").addParam("flag", "5").process().uniqueResult(0); - if (ObjectUtil.isNotEmpty(lithiumPoint)) { - endPointCode = lithiumPoint.getString("point_code"); - } - } - } - if (ObjectUtil.isEmpty(lithiumPoint)) { - JSONObject jsonCooIvt = WQL.getWO("PDA_OVENINANDOUT_01").addParamMap(map).process().uniqueResult(0); - // 如果为空 - if (ObjectUtil.isEmpty(jsonCooIvt) && !jsonPoint.getString("product_area").equals("B2")) { - if (StrUtil.equals(jsonPoint.getString("point_location"), "0")) { - map.put("point_location", "1"); - } - if (StrUtil.equals(jsonPoint.getString("point_location"), "1")) { - map.put("point_location", "0"); - } - jsonCooIvt = WQL.getWO("PDA_OVENINANDOUT_01").addParamMap(map).process().uniqueResult(0); - } - if (ObjectUtil.isEmpty(jsonCooIvt)) { - throw new BadRequestException("冷却区空位不足"); - } - endPointCode = jsonCooIvt.getString("full_point_code"); - } - - // 3.创建任务 - JSONObject param = new JSONObject(); - param.put("point_code1", point_code1); - param.put("point_code2", endPointCode); - param.put("container_name", container_name); - param.put("product_area", jsonPoint.getString("product_area")); - - - InCoolIvtTask inCoolIvtTask = new InCoolIvtTask(); - String task_id = inCoolIvtTask.createTask(param); - - // 生成冷却区出入表 - String currentUserId = SecurityUtils.getCurrentUserId(); - String currentUsername = SecurityUtils.getCurrentUsername(); - - JSONObject jsonRaw = rawTab.query("container_name = '" + container_name + "' and is_delete = '0'").uniqueResult(0); - JSONObject jsonMater = materTab.query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonMater)) { - throw new BadRequestException("物料基础信息中无此物料!"); - } - - JSONObject jsonCool = new JSONObject(); - jsonCool.put("iostorinv_id", IdUtil.getSnowflake(1, 1).nextId()); - jsonCool.put("bill_code", CodeUtil.getNewCode("COOLREGION_BILL_CODE")); - jsonCool.put("io_type", "0"); - jsonCool.put("material_id", jsonMater.getString("material_id")); - jsonCool.put("pcsn", container_name); - jsonCool.put("bill_status", "10"); - jsonCool.put("qty", jsonRaw.get("productin_qty")); - jsonCool.put("qty_unit_id", jsonMater.get("base_unit_id")); - jsonCool.put("task_id", task_id); - jsonCool.put("start_point_code", point_code1); - jsonCool.put("end_point_code", endPointCode); - jsonCool.put("create_mode", "03"); - jsonCool.put("create_id", currentUserId); - jsonCool.put("create_name", currentUsername); - jsonCool.put("create_time", DateUtil.now()); - jsonCool.put("update_optid", currentUserId); - jsonCool.put("update_optname", currentUsername); - jsonCool.put("update_time", DateUtil.now()); - jsonCool.put("confirm_optid", currentUserId); - jsonCool.put("confirm_optname", currentUsername); - jsonCool.put("confirm_time", DateUtil.now()); - coolTab.insert(jsonCool); + // 1.获取此暂存位的生产区域和上下位置 + JSONObject jsonPoint = pointTab.query("point_code = '" + point_code1 + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(jsonPoint)) { + throw new BadRequestException("请扫描点位类型为出箱的烘箱对接位!"); } + if (!in_area_id.contains(jsonPoint.getString("product_area"))) { + throw new BadRequestException("当前登录人员暂无【" + jsonPoint.getString("product_area") + "】操作权限"); + } + // 2.找冷却区空货位 + JSONObject map = new JSONObject(); + map.put("flag", "2"); + map.put("product_area", jsonPoint.getString("product_area")); + map.put("point_location", jsonPoint.getString("point_location")); + map.put("point_type", "1"); + String endPointCode = null; + JSONObject jsonCooIvt = WQL.getWO("PDA_OVENINANDOUT_01").addParamMap(map).process().uniqueResult(0); + // 如果为空 + if (ObjectUtil.isEmpty(jsonCooIvt)) { + if (StrUtil.equals(jsonPoint.getString("point_location"), "0")) { + map.put("point_location", "1"); + } + if (StrUtil.equals(jsonPoint.getString("point_location"), "1")) { + map.put("point_location", "0"); + } + jsonCooIvt = WQL.getWO("PDA_OVENINANDOUT_01").addParamMap(map).process().uniqueResult(0); + } + if (ObjectUtil.isEmpty(jsonCooIvt)) { + throw new BadRequestException("冷却区空位不足"); + } + endPointCode = jsonCooIvt.getString("full_point_code"); + + // 3.创建任务 + JSONObject param = new JSONObject(); + param.put("point_code1", point_code1); + param.put("point_code2", endPointCode); + param.put("container_name", container_name); + param.put("product_area", jsonPoint.getString("product_area")); + + + InCoolIvtTask inCoolIvtTask = new InCoolIvtTask(); + String task_id = inCoolIvtTask.createTask(param); + + // 生成冷却区出入表 + String currentUserId = SecurityUtils.getCurrentUserId(); + String currentUsername = SecurityUtils.getCurrentUsername(); + + JSONObject jsonRaw = rawTab.query("container_name = '" + container_name + "' and is_delete = '0'").uniqueResult(0); + JSONObject jsonMater = materTab.query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(jsonMater)) { + throw new BadRequestException("物料基础信息中无此物料!"); + } + + JSONObject jsonCool = new JSONObject(); + jsonCool.put("iostorinv_id", IdUtil.getSnowflake(1, 1).nextId()); + jsonCool.put("bill_code", CodeUtil.getNewCode("COOLREGION_BILL_CODE")); + jsonCool.put("io_type", "0"); + jsonCool.put("material_id", jsonMater.getString("material_id")); + jsonCool.put("pcsn", container_name); + jsonCool.put("bill_status", "10"); + jsonCool.put("qty", jsonRaw.get("productin_qty")); + jsonCool.put("qty_unit_id", jsonMater.get("base_unit_id")); + jsonCool.put("task_id", task_id); + jsonCool.put("start_point_code", point_code1); + jsonCool.put("end_point_code", endPointCode); + jsonCool.put("create_mode", "03"); + jsonCool.put("create_id", currentUserId); + jsonCool.put("create_name", currentUsername); + jsonCool.put("create_time", DateUtil.now()); + jsonCool.put("update_optid", currentUserId); + jsonCool.put("update_optname", currentUsername); + jsonCool.put("update_time", DateUtil.now()); + jsonCool.put("confirm_optid", currentUserId); + jsonCool.put("confirm_optname", currentUsername); + jsonCool.put("confirm_time", DateUtil.now()); + coolTab.insert(jsonCool); + JSONObject result = new JSONObject(); result.put("message", "操作成功!"); return result; @@ -774,21 +656,31 @@ public class BakingServiceImpl implements BakingService { @Override @Transactional(rollbackFor = Exception.class) - public JSONObject release(JSONObject whereJson) { - JSONArray rows = new JSONArray(); - JSONObject jo = new JSONObject(); - JSONObject point_jo = WQLObject.getWQLObject("sch_base_point").query("point_code = '" + whereJson.getString("point_code") + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(point_jo)) { - throw new BadRequestException("未查询到对应的报警灯点位!"); + public JSONObject reBake(JSONObject whereJson) { + String container_name = whereJson.getString("container_name"); // 母卷号 + if (ObjectUtil.isEmpty(container_name)){ + throw new BadRequestException("请输入母卷号!"); + } + String type = whereJson.getString("type");//1-决策入烘箱 2-决策入冷却 + if (ObjectUtil.isEmpty(type)){ + throw new BadRequestException("请选择类型!"); + } + if (type.equals("1")) { + //更新生箔工单的是否下发烘烤为是 + HashMap map = new HashMap<>(); + map.put("is_baking", "1"); + WQLObject.getWQLObject("PDM_BI_RawFoilWorkOrder").update(map, "container_name = '" + container_name + "'"); + log.info("母卷:" + container_name + "被决策入烘箱,请求烘烤标识改为1"); + } + if (type.equals("2")) { + //更新生箔工单的是否下发入半成品库为是 + HashMap map = new HashMap<>(); + map.put("is_instor", "1"); + WQLObject.getWQLObject("PDM_BI_RawFoilWorkOrder").update(map, "container_name = '" + container_name + "'"); + log.info("母卷:" + container_name + "被决策入半成品库,请求入半成品库标识改为1"); } - jo.put("device_code", whereJson.getString("point_code")); - jo.put("code", "to_command"); - jo.put("product_area", point_jo.getString("product_area")); - jo.put("value", "0"); - rows.add(jo); - new WmsToAcsServiceImpl().action(rows); JSONObject result = new JSONObject(); - result.put("message", "烘箱三色灯报警已关闭,请联系烘箱设备维护人员处理烘箱报警问题!!"); + result.put("message", "操作成功!"); return result; } @@ -852,4 +744,249 @@ public class BakingServiceImpl implements BakingService { result.put("message", "操作成功!"); return result; } + + @Override + public JSONObject inCoolOrOven(JSONObject whereJson) { + String option = whereJson.getString("type"); // 1-入冷却 2-入烘箱 + + WQLObject pointTab = WQLObject.getWQLObject("SCH_BASE_Point"); // 点位表 + WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); // 任务表 + WQLObject coolIvtTab = WQLObject.getWQLObject("ST_IVT_CoolPointIvt"); // 冷却区点位库存表 + WQLObject hosIvtTab = WQLObject.getWQLObject("ST_IVT_HotPointIvt"); // 烤箱区点位库存表 + WQLObject hosReMstTab = WQLObject.getWQLObject("ST_IVT_HotRegionIOMst"); // 烤箱区出入主表 + WQLObject coolTab = WQLObject.getWQLObject("ST_IVT_CoolRegionIO"); // 冷却区出入表 + WQLObject rawTab = WQLObject.getWQLObject("PDM_BI_RawFoilWorkOrder"); // 生箔工单表 + WQLObject materTab = WQLObject.getWQLObject("md_me_materialbase"); // 物料表 + + //获取人员对应的区域 + UserAreaServiceImpl userAreaService = new UserAreaServiceImpl(); + String in_area_id = userAreaService.getInArea(); + + if (StrUtil.equals(option, "2")) { + // 入箱 + // 手持-烘烤-质检不合格 + String container_name = whereJson.getString("container_name"); // 母卷号 + String temperature = whereJson.getString("temperature"); // 温度 + String hours = whereJson.getString("hours"); // 时间 + String point_code1 = whereJson.getString("point_code"); // 点位 + //查询该点位是否存在未完成的任务 + JSONObject hasTask = WQLObject.getWQLObject("SCH_BASE_Task").query("point_code1 = '" + point_code1 + "' AND task_status < '07' AND is_delete = '0'").uniqueResult(0); + if (hasTask != null) { + throw new BadRequestException("当前点位" + point_code1 + "存在正在执行的任务" + hasTask.getString("task_code")); + } + //校验该设备是否启用,且母卷MES是否请求烘烤 + //查询该母卷号、设备号对应的生箔工单 + JSONObject raw_jo = WQLObject.getWQLObject("PDM_BI_RawFoilWorkOrder").query("container_name ='" + container_name + "'").uniqueResult(0); + + if (ObjectUtil.isEmpty(raw_jo)) { + throw new BadRequestException("未查询到对应的生箔工单!"); + } + if (raw_jo.getString("order_type").equals("1")) { + throw new BadRequestException("当前工单为标箔工单,不允许烘烤!"); + } + String resource_name = raw_jo.getString("resource_name"); + JSONObject sb_jo = WQLObject.getWQLObject("st_ivt_sbpointivt").query("ext_code ='" + resource_name + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(sb_jo)) { + throw new BadRequestException("未查询到母卷号:" + container_name + "对应的生箔机台编号!"); + } + + if (StrUtil.equals("1", sb_jo.getString("mes_used"))&& !"1".equals(raw_jo.getString("is_baking"))) { + throw new BadRequestException("该母卷在MES上未进行决策入烘箱,不允许进行入烘箱操作!"); + } + + if (ObjectUtil.isEmpty(container_name)) { + throw new BadRequestException("母卷号不能为空"); + } + if (ObjectUtil.isEmpty(temperature)) { + throw new BadRequestException("温度不能为空"); + } + if (ObjectUtil.isEmpty(hours)) { + throw new BadRequestException("时间不能为空"); + } + if (ObjectUtil.isEmpty(point_code1)) { + throw new BadRequestException("点位不能为空"); + } + + JSONObject jsonPointZc = pointTab.query("point_code = '" + point_code1 + "'").uniqueResult(0); + + + if (ObjectUtil.isNotEmpty(jsonPointZc)) { + if (!in_area_id.contains(jsonPointZc.getString("product_area"))) { + throw new BadRequestException("当前登录人员暂无【" + jsonPointZc.getString("product_area") + "】操作权限"); + } + /* + * 暂存区入烘箱 + */ + // 1.查询烘箱对应的空位 + JSONObject jsonMap = new JSONObject(); + jsonMap.put("flag", "1"); + jsonMap.put("product_area", jsonPointZc.getString("product_area")); + //获取温度幅度 + jsonMap.put("point_location", jsonPointZc.getString("point_location")); + JSONArray hot_rows = WQL.getWO("PDA_BAKING_01").addParamMap(jsonMap).process().getResultJSONArray(0); + JSONObject jsonHotIvt = new JSONObject(); + log.debug("获取温度幅度hot_rows:" + hot_rows); + for (int i = 0; i < hot_rows.size(); i++) { + JSONObject hot_row = hot_rows.getJSONObject(i); + String point_code = hot_row.getString("point_code"); + boolean exists = redisUtils.hHasKey(point_code, "temperature"); + String point_temperature = ""; + if (exists) { + point_temperature = (String) redisUtils.hget(point_code, "temperature"); + } + if (ObjectUtil.isNotEmpty(point_temperature)) { + if (point_temperature.equals(temperature)) { + jsonHotIvt = hot_row; + log.debug("获取满足温度幅度jsonHotIvt:" + jsonHotIvt); + break; + } + } + } + if (ObjectUtil.isEmpty(jsonHotIvt)) { + throw new BadRequestException("烘烤区没有合适温度的空位!"); + } + // 2.创建暂存位 --> 烘烤区任务 + JSONObject param = new JSONObject(); + param.put("type", "2"); // 1- 冷却区入烘箱 2- 暂存位入烘箱 + 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")); + param.put("request_param", NumberUtil.mul(Double.parseDouble(hours), 60)); + + InHotTask inHotTask = new InHotTask(); + String task_id = inHotTask.createTask(param); + + // 3.插入主表 + JSONObject jsonRaw = rawTab.query("container_name = '" + container_name + "' and is_delete = '0'").uniqueResult(0); + JSONObject jsonMater = materTab.query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0); + + JSONObject hotParam = new JSONObject(); + hotParam.put("container_name", container_name); + hotParam.put("workorder_id", jsonRaw.getString("workorder_id")); + hotParam.put("material_id", jsonMater.getString("material_id")); + hotParam.put("qty", jsonRaw.get("productin_qty")); + hotParam.put("io_type", "0"); + hotParam.put("qty_unit_id", jsonMater.getString("base_unit_id")); + hotParam.put("task_id", task_id); + hotParam.put("start_point_code", point_code1); + hotParam.put("end_point_code", jsonHotIvt.getString("point_code")); + hotParam.put("temperature", temperature); + hotParam.put("oven_time", hours); + this.createHotIoMst(hotParam); + } else { + throw new BadRequestException("请扫描正确的冷却区点位或对接点位!"); + } + } else if (StrUtil.equals(option, "1")) { + // 入冷却 + // 手持-烘烤-质检不合格 + String point_code1 = whereJson.getString("point_code"); // 暂存位:起点 + String container_name = whereJson.getString("container_name"); // 母卷号 + if (ObjectUtil.isEmpty(point_code1)) { + throw new BadRequestException("点位不能为空"); + } + if (ObjectUtil.isEmpty(container_name)) { + throw new BadRequestException("母卷号不能为空"); + } + + //校验该设备是否启用,且母卷MES是否请求烘烤 + //查询该母卷号、设备号对应的生箔工单 + JSONObject raw_jo = WQLObject.getWQLObject("PDM_BI_RawFoilWorkOrder").query("container_name ='" + container_name + "'").uniqueResult(0); + + if (ObjectUtil.isEmpty(raw_jo)) { + throw new BadRequestException("未查询到对应的生箔工单!"); + } + String resource_name = raw_jo.getString("resource_name"); + JSONObject sb_jo = WQLObject.getWQLObject("st_ivt_sbpointivt").query("ext_code ='" + resource_name + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(sb_jo)) { + 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上未进行决策入半成品库,不允许进行入冷却操作!"); + } + + // 1.获取此暂存位的生产区域和上下位置 + JSONObject jsonPoint = pointTab.query("point_code = '" + point_code1 + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(jsonPoint)) { + throw new BadRequestException("请扫描点位类型为出箱的烘箱对接位!"); + } + + if (!in_area_id.contains(jsonPoint.getString("product_area"))) { + throw new BadRequestException("当前登录人员暂无【" + jsonPoint.getString("product_area") + "】操作权限"); + } + // 2.找冷却区空货位 + JSONObject map = new JSONObject(); + map.put("flag", "2"); + map.put("product_area", jsonPoint.getString("product_area")); + map.put("point_location", jsonPoint.getString("point_location")); + map.put("point_type", "1"); + String endPointCode = null; + JSONObject jsonCooIvt = WQL.getWO("PDA_OVENINANDOUT_01").addParamMap(map).process().uniqueResult(0); + // 如果为空 + if (ObjectUtil.isEmpty(jsonCooIvt)) { + if (StrUtil.equals(jsonPoint.getString("point_location"), "0")) { + map.put("point_location", "1"); + } + if (StrUtil.equals(jsonPoint.getString("point_location"), "1")) { + map.put("point_location", "0"); + } + jsonCooIvt = WQL.getWO("PDA_OVENINANDOUT_01").addParamMap(map).process().uniqueResult(0); + } + if (ObjectUtil.isEmpty(jsonCooIvt)) { + throw new BadRequestException("冷却区空位不足"); + } + endPointCode = jsonCooIvt.getString("full_point_code"); + + // 3.创建任务 + JSONObject param = new JSONObject(); + param.put("point_code1", point_code1); + param.put("point_code2", endPointCode); + param.put("container_name", container_name); + param.put("product_area", jsonPoint.getString("product_area")); + + + InCoolIvtTask inCoolIvtTask = new InCoolIvtTask(); + String task_id = inCoolIvtTask.createTask(param); + + // 生成冷却区出入表 + String currentUserId = SecurityUtils.getCurrentUserId(); + String currentUsername = SecurityUtils.getCurrentUsername(); + + JSONObject jsonRaw = rawTab.query("container_name = '" + container_name + "' and is_delete = '0'").uniqueResult(0); + JSONObject jsonMater = materTab.query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(jsonMater)) { + throw new BadRequestException("物料基础信息中无此物料!"); + } + + JSONObject jsonCool = new JSONObject(); + jsonCool.put("iostorinv_id", IdUtil.getSnowflake(1, 1).nextId()); + jsonCool.put("bill_code", CodeUtil.getNewCode("COOLREGION_BILL_CODE")); + jsonCool.put("io_type", "0"); + jsonCool.put("material_id", jsonMater.getString("material_id")); + jsonCool.put("pcsn", container_name); + jsonCool.put("bill_status", "10"); + jsonCool.put("qty", jsonRaw.get("productin_qty")); + jsonCool.put("qty_unit_id", jsonMater.get("base_unit_id")); + jsonCool.put("task_id", task_id); + jsonCool.put("start_point_code", point_code1); + jsonCool.put("end_point_code", endPointCode); + jsonCool.put("create_mode", "03"); + jsonCool.put("create_id", currentUserId); + jsonCool.put("create_name", currentUsername); + jsonCool.put("create_time", DateUtil.now()); + jsonCool.put("update_optid", currentUserId); + jsonCool.put("update_optname", currentUsername); + jsonCool.put("update_time", DateUtil.now()); + jsonCool.put("confirm_optid", currentUserId); + jsonCool.put("confirm_optname", currentUsername); + jsonCool.put("confirm_time", DateUtil.now()); + coolTab.insert(jsonCool); + + + } + JSONObject result = new JSONObject(); + result.put("message", "操作成功!"); + return result; + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/FeedingServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/FeedingServiceImpl.java index aa71332..153c3f2 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/FeedingServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/FeedingServiceImpl.java @@ -64,111 +64,6 @@ public class FeedingServiceImpl implements FeedingService { return jo; } - @Transactional(rollbackFor = Exception.class) - @Override - public JSONObject confirm(JSONObject form) { - JSONObject whereJson = form.getJSONObject("cut_rows"); - String container_name = whereJson.getString("container_name"); - if (StrUtil.isEmpty(container_name)) { - throw new BadRequestException("子卷号不能为空!"); - } - - JSONObject plan_jo = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("container_name = '" + container_name + "' AND is_delete = '0'").uniqueResult(0); - - if (ObjectUtil.isEmpty(plan_jo)) { - throw new BadRequestException("未查询到该子卷号对应的分切计划!"); - } - - //查询该分切机对应的点位 - JSONObject cut_jo = WQLObject.getWQLObject("st_ivt_cutpointivt").query("ext_code = '" + plan_jo.getString("resource_name") + "'").uniqueResult(0); - - if (StrUtil.isNotEmpty(cut_jo.getString("container_name")) || "02".equals(cut_jo.getString("full_point_status"))) { - throw new BadRequestException("该分切机对应的上料位存在母卷,不能下发搬运任务!"); - } - - //创建搬运任务 - if ("1".equals(plan_jo.getString("order_type"))) { - //生成一个半成品出库任务 - String parent_container_name = plan_jo.getString("parent_container_name"); - - //查询该母卷号所在位置 - JSONObject cool_ivt = WQLObject.getWQLObject("ST_IVT_CoolPointIvt").query("container_name = '" + parent_container_name + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(cool_ivt)) { - throw new BadRequestException("未查询到呼叫母卷的库存信息!"); - } - - //查询该母卷号对应的生箔信息 - JSONObject raw_jo = WQLObject.getWQLObject("pdm_bi_rawfoilworkorder").query("container_name = '" + parent_container_name + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(raw_jo)) { - throw new BadRequestException("未查询到母卷:" + parent_container_name + ",对应的生箔信息!"); - } - - JSONObject mater_jo = WQLObject.getWQLObject("md_me_materialbase").query("material_code = '" + raw_jo.getString("product_name") + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(mater_jo)) { - throw new BadRequestException("未查询到物料:" + raw_jo.getString("product_name") + "基础信息!"); - } - - //创建任务,判断目的点是否存在空轴,存在创建4个点的任务,不存在则创建两个点任务 - String task_id = ""; - - JSONObject jo = new JSONObject(); - if (StrUtil.equals("01", cut_jo.getString("empty_point_status"))) { - jo.put("point_code1", cool_ivt.getString("full_point_code")); - jo.put("point_code2", cut_jo.getString("full_point_code")); - jo.put("vehicle_code", parent_container_name); - jo.put("product_area", cool_ivt.getString("product_area")); - jo.put("task_type", "010302"); - } else { - jo.put("point_code1", cool_ivt.getString("full_point_code")); - jo.put("point_code2", cut_jo.getString("full_point_code")); - jo.put("point_code3", cut_jo.getString("empty_point_code")); - jo.put("point_code4", cool_ivt.getString("empty_point_code")); - jo.put("vehicle_code", parent_container_name); - jo.put("vehicle_code2", cut_jo.getString("empty_vehicle_code")); - jo.put("product_area", cool_ivt.getString("product_area")); - jo.put("task_type", "010301"); - } - - AbstractAcsTask task = new CoolCutTask(); - task_id = task.createTask(jo); - - //生成半成品出库单据 - String currentUserId = SecurityUtils.getCurrentUserId(); - String currentUsername = SecurityUtils.getCurrentUsername(); - - JSONObject jsonCool = new JSONObject(); - jsonCool.put("iostorinv_id", IdUtil.getSnowflake(1, 1).nextId()); - jsonCool.put("bill_code", CodeUtil.getNewCode("COOLREGION_BILL_CODE")); - jsonCool.put("io_type", "1"); - jsonCool.put("material_id", mater_jo.getString("material_id")); - jsonCool.put("pcsn", parent_container_name); - jsonCool.put("bill_status", "50"); - jsonCool.put("task_id", task_id); - jsonCool.put("qty_unit_id", "1"); - jsonCool.put("start_point_code", cool_ivt.getString("full_point_code")); - jsonCool.put("end_point_code", cut_jo.getString("full_point_code")); - jsonCool.put("create_mode", "03"); - jsonCool.put("create_id", currentUserId); - jsonCool.put("create_name", currentUsername); - jsonCool.put("create_time", DateUtil.now()); - jsonCool.put("update_optid", currentUserId); - jsonCool.put("update_optname", currentUsername); - jsonCool.put("update_time", DateUtil.now()); - jsonCool.put("confirm_optid", currentUserId); - jsonCool.put("confirm_optname", currentUsername); - jsonCool.put("confirm_time", DateUtil.now()); - WQLObject.getWQLObject("ST_IVT_CoolRegionIO").insert(jsonCool); - - - } else { - - - } - JSONObject jo = new JSONObject(); - jo.put("message", "操作成功!"); - return jo; - } - @Override public JSONObject queryPoint(JSONObject form) { String point_code = form.getString("point_code"); 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 27bb52e..1354829 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 @@ -1,5 +1,6 @@ package org.nl.wms.pda.mps.service.impl; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; @@ -8,8 +9,13 @@ 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.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.nl.b_lms.sch.point.dao.StIvtSbpointivt; +import org.nl.b_lms.sch.point.dao.mapper.StIvtSbpointivtMapper; import org.nl.common.utils.TaskUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.utils.RedisUtils; @@ -23,13 +29,24 @@ 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.RawFoilService; +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.pdm.rawfoilworkorder.service.dto.CoolPointIvtDto; import org.nl.wms.sch.service.PointService; import org.nl.wms.sch.tasks.CallEmpReelTask; 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.Collections; import java.util.Date; +import java.util.List; @Service @RequiredArgsConstructor @@ -37,6 +54,15 @@ import java.util.Date; public class RawFoilServiceImpl implements RawFoilService { private final AcsToWmsService acsToWmsService; private final PointService pointService; + @Autowired + RawfoilWorkOrderMapper rawfoilWorkOrderMapper; + + @Autowired + SbPointIvtMapper sbPointIvtMapper; + + @Autowired + CoolPointIvtMapper coolPointIvtMapper; + @Override public JSONObject queryProductArea() { @@ -51,72 +77,71 @@ public class RawFoilServiceImpl implements RawFoilService { @Override public JSONObject queryRawFoil(JSONObject whereJson, HttpContext ctx) { + PageHelper.startPage(Integer.parseInt(ctx.getPage()), Integer.parseInt(ctx.getRows())); String point_code = whereJson.getString("point_code"); String container_name = whereJson.getString("container_name"); String product_area = whereJson.getString("product_area"); //获取人员对应的区域 - UserAreaServiceImpl userAreaService = new UserAreaServiceImpl(); - String in_area_id = userAreaService.getInArea(); +// UserAreaServiceImpl userAreaService = new UserAreaServiceImpl(); +// String in_area_id = userAreaService.getInArea(); JSONArray resultArr = new JSONArray(); JSONObject map = new JSONObject(); - map.put("flag", "4"); map.put("point_code", point_code); map.put("container_name", container_name); map.put("product_area", product_area); - if (ObjectUtil.isNotEmpty(in_area_id)) { - map.put("in_area_id", in_area_id); - } +// if (ObjectUtil.isNotEmpty(in_area_id)) { +// map.put("in_area_id", in_area_id); +// } + List list = rawfoilWorkOrderMapper.queryRawFoil(map); + PageInfo pageInfo = new PageInfo<>(list); + if (ObjectUtil.isNotEmpty(list)) { + for (RawfoilWorkOrder rawfoilWorkOrder : list) { + JSONObject json = new JSONObject(); + BigDecimal theory_height = rawfoilWorkOrder.getTheory_height(); + BigDecimal eqp_velocity = rawfoilWorkOrder.getEqp_velocity(); + // 计算生产所需时间: 理论长度 / 速度 + int need_time = NumberUtil.div(NumberUtil.div(theory_height, eqp_velocity).toString(), "60").intValue();// 分钟 - JSONObject arr = WQL.getWO("PDA_RAWFOIL_01").addParamMap(map).pageQuery(ctx, "container_name"); - JSONArray rows = arr.getJSONArray("content"); - for (int i = 0; i < rows.size(); i++) { - JSONObject json = new JSONObject(); - JSONObject jsonObject = rows.getJSONObject(i); - String theory_height = jsonObject.getString("theory_height"); - String eqp_velocity = jsonObject.getString("eqp_velocity"); + // 计算预计结束时间: 开始时间 + 生产所需时间 + String up_coiler_date = rawfoilWorkOrder.getUp_coiler_date(); + Date date = DateUtil.parse(up_coiler_date); + String end_time = DateUtil.offsetSecond(date, need_time).toString(); - // 计算生产所需时间: 理论长度 / 速度 - int need_time = NumberUtil.div(NumberUtil.div(theory_height, eqp_velocity).toString(), "60").intValue();// 分钟 + // 当前时间 - 预计结束时间 : 超过为红色、还有半小时为黄色 + Date now_time = DateUtil.parse(DateUtil.now()); + Date end_time2 = DateUtil.parse(end_time); - // 计算预计结束时间: 开始时间 + 生产所需时间 - String up_coiler_date = jsonObject.getString("up_coiler_date"); - Date date = DateUtil.parse(up_coiler_date); - String end_time = DateUtil.offsetSecond(date, need_time).toString(); + long betweenDay = DateUtil.between(now_time, end_time2, DateUnit.MINUTE, false); - // 当前时间 - 预计结束时间 : 超过为红色、还有半小时为黄色 - Date now_time = DateUtil.parse(DateUtil.now()); - Date end_time2 = DateUtil.parse(end_time); + if (betweenDay <= 0) { + json.put("color_type", "1"); + } else if (betweenDay > 0 && betweenDay <= 30) { + json.put("color_type", "2"); + } else { + json.put("color_type", "0"); + } - long betweenDay = DateUtil.between(now_time, end_time2, DateUnit.MINUTE, false); + if (betweenDay < 0) { + betweenDay = 0; + } - if (betweenDay <= 0) { - json.put("color_type", "1"); - } else if (betweenDay > 0 && betweenDay <= 30) { - json.put("color_type", "2"); - } else { - json.put("color_type", "0"); + json.put("container_name", rawfoilWorkOrder.getContainer_name()); + json.put("up_coiler_date", rawfoilWorkOrder.getUp_coiler_date()); + json.put("point_code", rawfoilWorkOrder.getPoint_code()); + json.put("resource_name", rawfoilWorkOrder.getResource_name()); + json.put("end_date", end_time); + json.put("pcsn", rawfoilWorkOrder.getProduct_name()); + json.put("remaining_time", betweenDay); + json.put("product_name", rawfoilWorkOrder.getProduct_name()); + json.put("mfg_order_name", rawfoilWorkOrder.getMfg_order_name()); + resultArr.add(json); } - - if (betweenDay < 0) { - betweenDay = 0; - } - json.put("container_name", jsonObject.getString("container_name")); - json.put("up_coiler_date", jsonObject.getString("up_coiler_date")); - json.put("end_date", end_time); - json.put("point_code", jsonObject.getString("ed_point_code")); - json.put("resource_name", jsonObject.getString("resource_name")); - json.put("pcsn", jsonObject.getString("product_name")); - json.put("remaining_time", betweenDay); - json.put("product_name", jsonObject.getString("theory_height")); - json.put("mfg_order_name", jsonObject.getString("mfg_order_name")); - - resultArr.add(json); } JSONObject jo = new JSONObject(); jo.put("data", resultArr); - jo.put("size", arr.getString("totalElements")); + jo.put("size", pageInfo.getTotal()); jo.put("message", "查询成功!"); return jo; @@ -124,21 +149,22 @@ public class RawFoilServiceImpl implements RawFoilService { @Override public JSONObject queryRawFoilList(JSONObject whereJson, HttpContext ctx) { + PageHelper.startPage(Integer.parseInt(ctx.getPage()), Integer.parseInt(ctx.getRows())); JSONObject map = new JSONObject(); - map.put("flag", "5"); map.put("point_code", whereJson.getString("point_code")); map.put("container_name", whereJson.getString("container_name")); - //获取人员对应的区域 - UserAreaServiceImpl userAreaService = new UserAreaServiceImpl(); - String in_area_id = userAreaService.getInArea(); - if (ObjectUtil.isNotEmpty(in_area_id)) { - map.put("in_area_id", in_area_id); - } - JSONObject resultJSONArray = WQL.getWO("PDA_RAWFOIL_01").addParamMap(map).pageQuery(ctx, "container_name"); +// //获取人员对应的区域 +// UserAreaServiceImpl userAreaService = new UserAreaServiceImpl(); +// String in_area_id = userAreaService.getInArea(); +// if (ObjectUtil.isNotEmpty(in_area_id)) { +// map.put("in_area_id", in_area_id); +// } + List rawfoilWorkOrderList = rawfoilWorkOrderMapper.queryRawFoilList(map); + PageInfo rawfoilWorkOrderPageInfo = new PageInfo<>(rawfoilWorkOrderList); JSONObject jo = new JSONObject(); - jo.put("data", resultJSONArray.getJSONArray("content")); - jo.put("size", resultJSONArray.getString("totalElements")); - if (StrUtil.isNotEmpty(whereJson.getString("container_name")) && ObjectUtil.isEmpty(resultJSONArray.getJSONArray("content"))) { + jo.put("data", rawfoilWorkOrderList); + jo.put("size", rawfoilWorkOrderPageInfo.getTotal()); + if (StrUtil.isNotEmpty(whereJson.getString("container_name")) && rawfoilWorkOrderList.size() < 1) { throw new BadRequestException("当前输入的母卷工单已结束或不存在!"); } jo.put("message", "查询成功!"); @@ -360,41 +386,40 @@ public class RawFoilServiceImpl implements RawFoilService { @Override public JSONObject createOrder(JSONObject whereJson) { - WQLObject rawTab = WQLObject.getWQLObject("PDM_BI_RawFoilWorkOrder"); // 生箔工单表 - WQLObject sbTab = WQLObject.getWQLObject("ST_IVT_SbPointIvt"); // 生箔点位库存表 - JSONObject device_jo = sbTab.query("point_code = '" + whereJson.getString("point_code") + "'").uniqueResult(0); - - String container_name = whereJson.getString("container_name"); - //判断该母卷是否存在工单 - JSONObject raw_jo = WQLObject.getWQLObject("pdm_bi_rawfoilworkorder").query("container_name = '" + container_name + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(raw_jo)) { - throw new BadRequestException("当前母卷存在生箔工单,不允许创建!"); + SbPointIvt stIvtSbpointivt = sbPointIvtMapper.selectOne(new LambdaQueryWrapper() + .eq(ObjectUtil.isNotEmpty(whereJson.getString("point_code")), SbPointIvt::getPoint_code, whereJson.getString("point_code"))); + if (ObjectUtil.isEmpty(stIvtSbpointivt)) { + throw new BadRequestException("点位设备不存在"); + } + String container_name = whereJson.getString("container_name"); + RawfoilWorkOrder rawfoilWorkOrder = rawfoilWorkOrderMapper.selectOne(new LambdaQueryWrapper() + .eq(ObjectUtil.isNotEmpty(container_name), RawfoilWorkOrder::getContainer_name, container_name)); + if (ObjectUtil.isNotEmpty(rawfoilWorkOrder)) { + throw new BadRequestException("当前母卷已存在生箔工单,不允许重复创建!"); } - // 插入生箔工序工单表 - JSONObject json = new JSONObject(); - json.put("workorder_id", IdUtil.getSnowflake(1, 1).nextId()); - json.put("container_name", container_name); - json.put("resource_name", device_jo.getString("ext_code")); - json.put("mfg_order_name", "test"); - json.put("product_name", "741011000000361"); - json.put("description", "铜箔|双面光|原箔|6微米|1350"); - json.put("theory_height", 2000.00); - json.put("eqp_velocity", 20.00); - json.put("up_coiler_date", DateUtil.now()); - json.put("is_reload_send", 0); - json.put("order_type", device_jo.getString("device_type")); - json.put("product_area", "B2"); - json.put("realstart_time", DateUtil.now()); - json.put("status", "01"); - json.put("is_delete", "0"); - json.put("agvno", "0"); - json.put("productin_qty", 0); - json.put("create_id", "1"); - json.put("create_name", "管理员"); - json.put("create_time", DateUtil.now()); - rawTab.insert(json); - + RawfoilWorkOrder order = new RawfoilWorkOrder(); + order.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextId()); + order.setContainer_name(container_name); + order.setResource_name(stIvtSbpointivt.getExt_code()); + order.setMfg_order_name(IdUtil.getSnowflake(1, 1).nextIdStr()); + order.setProduct_name("741011000000361"); + order.setDescription("铜箔|双面光|原箔|6微米|1350"); + order.setTheory_height(BigDecimal.valueOf(2000.00)); + order.setEqp_velocity(BigDecimal.valueOf(20.00)); + order.setUp_coiler_date(DateUtil.now()); + order.setIs_reload_send("0"); + order.setOrder_type(stIvtSbpointivt.getDevice_type()); + order.setProduct_area(stIvtSbpointivt.getProduct_area()); + order.setRealstart_time(DateUtil.now()); + order.setStatus("00"); + order.setIs_delete("0"); + order.setAgvno("0"); + order.setProductin_qty(BigDecimal.valueOf(0)); + order.setCreate_id("1"); + order.setCreate_name("管理员"); + order.setCreate_time(DateUtil.now()); + rawfoilWorkOrderMapper.insert(order); JSONObject jo = new JSONObject(); jo.put("message", "操作成功!"); return jo; @@ -545,28 +570,32 @@ public class RawFoilServiceImpl implements RawFoilService { WQLObject stIvtSbpointivtService = WQLObject.getWQLObject("st_ivt_sbpointivt"); // 生箔点位库存表 JSONObject raw_jo = whereJson.getJSONObject("raw_jo"); - JSONObject jsonRaw = pdmBiRawfoilworkorderService.query("workorder_id = '" + raw_jo.getString("workorder_id") + "'").uniqueResult(0); - - if (!StrUtil.equals(jsonRaw.getString("status"), "02")) { + if (ObjectUtil.isEmpty(raw_jo)) { + throw new BadRequestException("请先选择生箔工单!"); + } + 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(), "02")) { throw new BadRequestException("工单状态不为空轴搬出"); } //查询该母卷号对应的任务 - String container_name = jsonRaw.getString("container_name"); + String container_name = rawfoilWorkOrder.getContainer_name(); JSONObject task_jo = WQLObject.getWQLObject("SCH_BASE_Task").query("material_code = '" + container_name + "' and task_status <> '07' AND is_delete = '0'").uniqueResult(0); // 查询生箔点位库存表 - JSONObject jsonSb = stIvtSbpointivtService.query("ext_code = '" + jsonRaw.getString("resource_name") + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonSb)) { - throw new BadRequestException("点位不存在"); + SbPointIvt stIvtSbpointivt = sbPointIvtMapper.selectOne(new LambdaQueryWrapper() + .eq(ObjectUtil.isNotEmpty(rawfoilWorkOrder.getResource_name()), SbPointIvt::getExt_code, rawfoilWorkOrder.getResource_name())); + if (ObjectUtil.isEmpty(stIvtSbpointivt)) { + throw new BadRequestException("点位设备不存在"); } //下发ACS,执行取满放空的AGV动作 JSONArray paramArr = new JSONArray(); JSONObject param = new JSONObject(); - param.put("device_code", jsonSb.getString("point_code")); + param.put("device_code", stIvtSbpointivt.getPoint_code()); param.put("task_code", task_jo.getString("task_code")); - param.put("product_area", jsonSb.getString("product_area")); + param.put("product_area", stIvtSbpointivt.getProduct_area()); param.put("option", "1"); paramArr.add(param); @@ -578,9 +607,8 @@ public class RawFoilServiceImpl implements RawFoilService { } // 更新工单状态为确认下卷 - JSONObject update_jo = new JSONObject(); - update_jo.put("status", "03"); - pdmBiRawfoilworkorderService.update(update_jo, ("workorder_id = '" + raw_jo.getString("workorder_id") + "'")); + rawfoilWorkOrder.setStatus("20"); + rawfoilWorkOrderMapper.updateById(rawfoilWorkOrder); JSONObject jo = new JSONObject(); jo.put("message", "操作成功!"); @@ -648,7 +676,7 @@ public class RawFoilServiceImpl implements RawFoilService { throw new BadRequestException("该生箔工单存在未完成的任务,请先完成任务!"); } - jsonCool.put("status", "09"); + jsonCool.put("status", "40"); jsonCool.put("realend_time", DateUtil.now()); jsonCool.put("finish_type", "02"); stIvtCoolRegionIoService.update(jsonCool); @@ -657,4 +685,263 @@ public class RawFoilServiceImpl implements RawFoilService { jo.put("message", "操作成功!"); return jo; } + + + @Override + @Transactional(rollbackFor = Exception.class) + public JSONObject scrollDowm(JSONObject whereJson) { + String message = "操作完成!"; + String type = whereJson.getString("type"); + JSONObject raw_jo = whereJson.getJSONObject("raw_jo"); + SbPointIvt stIvtSbpointivt; + if (ObjectUtil.isNotEmpty(whereJson.getString("point_code"))) { + stIvtSbpointivt = sbPointIvtMapper.selectOne(new LambdaQueryWrapper() + .eq(ObjectUtil.isNotEmpty(whereJson.getString("point_code")), SbPointIvt::getPoint_code, whereJson.getString("point_code"))); + } else { + stIvtSbpointivt = sbPointIvtMapper.selectOne(new LambdaQueryWrapper() + .eq(ObjectUtil.isNotEmpty(raw_jo.getString("point_code")), SbPointIvt::getPoint_code, raw_jo.getString("point_code"))); + } + if (ObjectUtil.isEmpty(stIvtSbpointivt)) { + throw new BadRequestException("点位:" + stIvtSbpointivt.getExt_code() + "生箔设备不存在"); + } + if (StrUtil.equals("0", stIvtSbpointivt.getIs_used())) { + throw new BadRequestException("当前生箔机:" + stIvtSbpointivt.getExt_code() + "未启用!"); + } + + JSONObject param = new JSONObject(); + if ("1".equals(type) || "3".equals(type)) {// 1:取空取满放空放满, + handleType1And3(stIvtSbpointivt, raw_jo, param, type); + } else if ("2".equals(type)) {//2:单上空轴 + handleType2(stIvtSbpointivt, param); + } else if ("4".equals(type)) {//4:单下空轴 + handleType4(stIvtSbpointivt, param); + } + + CallEmpReelTask callEmpReelTask = new CallEmpReelTask(); + callEmpReelTask.createTask(param); + // 更新工单状态 + if ("1".equals(type) || "3".equals(type)) { + 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"); + rawfoilWorkOrderMapper.updateById(rawfoilWorkOrder); + } + JSONObject jo = new JSONObject(); + jo.put("message", message); + return jo; + } + + @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"); + + JSONObject jsonRaw = stIvtCoolRegionIoService.query("workorder_id = '" + raw_jo.getString("workorder_id") + "'").uniqueResult(0); + + if (!StrUtil.equals(jsonRaw.getString("status"), "00")) { + throw new BadRequestException("工单状态不为初始化"); + } + + JSONObject jsonPoint = pointTab.query("ext_code ='" + jsonRaw.getString("resource_name") + "'").uniqueResult(0); + + //查询该生箔工单是否存在未完成的任务 + String container_name = raw_jo.getString("container_name"); + + JSONObject task_jo = WQLObject.getWQLObject("sch_base_task").query("material_code = '" + container_name + "' AND task_status < '07' AND is_delete = '0'").uniqueResult(0); + 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"))) { + //更新点位状态 + 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); + } else { + throw new BadRequestException("当前生箔机:" + jsonPoint.getString("ext_code") + "不为满轴位为空且空轴位有轴的状态!"); + } + + + JSONObject jo = new JSONObject(); + jo.put("message", "操作成功!"); + return jo; + } + + @Override + public JSONObject query(JSONObject whereJson, HttpContext ctx) { + PageHelper.startPage(Integer.parseInt(ctx.getPage()), Integer.parseInt(ctx.getRows())); + JSONObject map = new JSONObject(); + map.put("point_code", whereJson.getString("point_code")); + map.put("container_name", whereJson.getString("container_name")); +// //获取人员对应的区域 +// UserAreaServiceImpl userAreaService = new UserAreaServiceImpl(); +// String in_area_id = userAreaService.getInArea(); +// if (ObjectUtil.isNotEmpty(in_area_id)) { +// map.put("in_area_id", in_area_id); +// } + List list = coolPointIvtMapper.selectCoolIvt(map); + PageInfo pageInfo = new PageInfo<>(list); + JSONObject jo = new JSONObject(); + jo.put("data", list); + jo.put("size", pageInfo.getTotal()); + jo.put("message", "查询成功!"); + return jo; + } + + private void handleType1And3(SbPointIvt stIvtSbpointivt, JSONObject raw_jo, JSONObject param, String type) { + if (ObjectUtil.isEmpty(raw_jo)) { + throw new BadRequestException("生箔工单不能为空!"); + } + JSONObject task_jo = WQLObject.getWQLObject("sch_base_task").query("material_code = '" + raw_jo.getString("container_name") + "' AND task_status < '07' AND is_delete = '0'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(task_jo)) { + throw new BadRequestException("该生箔工单存在未完成的任务,请先完成任务!"); + } + 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(), "30")) { + throw new BadRequestException("工单状态不为开始生产"); + } + if (StrUtil.equals("02", stIvtSbpointivt.getFull_point_status()) && StrUtil.equals("01", stIvtSbpointivt.getEmpty_point_status())) { + JSONObject map = new JSONObject(); + map.put("product_area", stIvtSbpointivt.getProduct_area()); + map.put("point_location", stIvtSbpointivt.getPoint_location()); + map.put("point_type", "1"); + List coolPointIvtList = coolPointIvtMapper.queryCoolPointIvt(map); + + String start_pint_code = ""; + String next_pint_code = ""; + String point_code4 = ""; + CoolPointIvt jsonIvt; + //如果没找到则继续找下一节点 + if (CollectionUtil.isEmpty(coolPointIvtList)) { + adjustPointLocation(map, stIvtSbpointivt); + coolPointIvtList = coolPointIvtMapper.queryCoolPointIvt(map); + if (CollectionUtil.isEmpty(coolPointIvtList)) { + throw new BadRequestException("未查询到合适的点位"); + } + jsonIvt = coolPointIvtList.get(0); + if ("1".equals(type)) { + start_pint_code = jsonIvt.getEmpty_point_code(); + point_code4 = jsonIvt.getFull_point_code(); + } else { + next_pint_code = jsonIvt.getFull_point_code(); + } + + } else { + jsonIvt = coolPointIvtList.get(0); + if ("1".equals(type)) { + start_pint_code = jsonIvt.getEmpty_point_code(); + point_code4 = jsonIvt.getFull_point_code(); + } else { + next_pint_code = jsonIvt.getFull_point_code(); + } + } + + if ("1".equals(type)) { + param.put("point_code1", start_pint_code); + param.put("point_code2", stIvtSbpointivt.getEmpty_point_code()); + param.put("point_code3", stIvtSbpointivt.getFull_point_code()); + param.put("point_code4", point_code4); + param.put("task_type", "010101"); + } else { + param.put("point_code1", stIvtSbpointivt.getFull_point_code()); + param.put("point_code2", next_pint_code); + param.put("task_type", "010102"); + } + + param.put("material_code", rawfoilWorkOrder.getContainer_name()); + param.put("product_area", rawfoilWorkOrder.getProduct_area()); + } else { + throw new BadRequestException("当前生箔机:" + stIvtSbpointivt.getExt_code() + "不为有满卷且空轴位为空的状态!"); + } + } + + private void handleType2(SbPointIvt stIvtSbpointivt, JSONObject param) { + if (StrUtil.equals("01", 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()); + List coolPointIvtList = coolPointIvtMapper.queryCoolPointIvt(map); + String start_pint_code = ""; + //如果没找到则继续找下一节点 + CoolPointIvt jsonIvt; + if (ObjectUtil.isEmpty(coolPointIvtList)) { + adjustPointLocation(map, stIvtSbpointivt); + coolPointIvtList = coolPointIvtMapper.queryCoolPointIvt(map); + if (CollectionUtil.isEmpty(coolPointIvtList)) { + throw new BadRequestException("未查询到合适的点位"); + } + jsonIvt = coolPointIvtList.get(0); + start_pint_code = jsonIvt.getEmpty_point_code(); + } else { + jsonIvt = coolPointIvtList.get(0); + start_pint_code = jsonIvt.getEmpty_point_code(); + } + param.put("point_code1", start_pint_code); + param.put("point_code2", stIvtSbpointivt.getEmpty_point_code()); + param.put("task_type", "010103"); + param.put("product_area", jsonIvt.getProduct_area()); + } else { + throw new BadRequestException("当前生箔机:" + stIvtSbpointivt.getExt_code() + "空轴位或者满轴位不为空!"); + } + } + + private void handleType4(SbPointIvt stIvtSbpointivt, JSONObject param) { + 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("工单状态不为开始生产"); + } +// JSONArray arr = pdmBiRawfoilworkorderService.query("resource_name = '" + sbPointIvt.getString("ext_code") + "' AND status = '30'").getResultJSONArray(0); +// if (arr.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()); + + List coolPointIvtList = coolPointIvtMapper.queryCoolPointIvt(map); + + String next_pint_code = ""; + CoolPointIvt jsonIvt; + //如果没找到则继续找下一节点 + if (CollectionUtil.isEmpty(coolPointIvtList)) { + adjustPointLocation(map, stIvtSbpointivt); + coolPointIvtList = coolPointIvtMapper.queryCoolPointIvt(map); + if (CollectionUtil.isEmpty(coolPointIvtList)) { + throw new BadRequestException("未查询到合适的点位"); + } + jsonIvt = coolPointIvtList.get(0); + next_pint_code = jsonIvt.getEmpty_point_code(); + } else { + jsonIvt = coolPointIvtList.get(0); + next_pint_code = jsonIvt.getEmpty_point_code(); + } + + param.put("point_code1", stIvtSbpointivt.getEmpty_point_code()); + param.put("point_code2", next_pint_code); + param.put("task_type", "010104"); + param.put("product_area", jsonIvt.getProduct_area()); + } else { + throw new BadRequestException("当前生箔机:" + stIvtSbpointivt.getExt_code() + "不是满轴位为空且空轴位不为空的状态!"); + } + } + + private void adjustPointLocation(JSONObject map, SbPointIvt stIvtSbpointivt) { + String point_location = stIvtSbpointivt.getPoint_location(); + if (StrUtil.equals(point_location, "0")) { + map.put("point_location", "1"); + } else if (StrUtil.equals(point_location, "1")) { + map.put("point_location", "0"); + } + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_RAWFOIL_01.wql b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_RAWFOIL_01.wql index b0740b1..0914c6d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_RAWFOIL_01.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_RAWFOIL_01.wql @@ -259,11 +259,11 @@ ( CASE der.STATUS - WHEN '01' THEN '开始' - WHEN '02' THEN '空轴搬出' - WHEN '03' THEN '准备就绪' - WHEN '04' THEN '下卷完成' - WHEN '09' THEN '结束' + WHEN '00' THEN '初始化' + WHEN '10' THEN '配送中' + WHEN '20' THEN '准备就绪' + WHEN '30' THEN '开始生产' + WHEN '40' THEN '结束' END ) AS status_name, der.mfg_order_name AS mfg_order_name, @@ -368,4 +368,88 @@ IF 输入.flag = "6" ENDSELECT ENDQUERY ENDIF + IF 输入.flag = "8" + QUERY + SELECT + ivt.* + FROM + ST_IVT_CoolPointIvt ivt + WHERE + ivt.empty_point_status = '01' + AND + ivt.full_point_status = '01' + AND + ivt.is_used = '1' + OPTION 输入.point_type <> "" + ivt.point_type = 输入.point_type + ENDOPTION + OPTION 输入.point_type = "" + ivt.point_type = '1' + ENDOPTION + + AND NOT EXISTS ( + SELECT + * + FROM + sch_base_task + WHERE + ( point_code1 = ivt.empty_point_code OR point_code2 = ivt.empty_point_code ) + AND task_status < '07' + AND is_delete = '0' + ) + + OPTION 输入.product_area <> "" + ivt.product_area = 输入.product_area + ENDOPTION + + OPTION 输入.point_location <> "" + ivt.point_location = 输入.point_location + ENDOPTION + + order by ivt.point_code ASC + + ENDSELECT + ENDQUERY + ENDIF + IF 输入.flag = "9" + QUERY + SELECT + ivt.* + FROM + ST_IVT_CoolPointIvt ivt + WHERE + ivt.empty_point_status = '02' + AND + ivt.is_used = '1' + OPTION 输入.point_type <> "" + ivt.point_type = 输入.point_type + ENDOPTION + OPTION 输入.point_type = "" + ivt.point_type = '1' + ENDOPTION + + AND NOT EXISTS ( + SELECT + * + FROM + sch_base_task + WHERE + ( point_code1 = ivt.empty_point_code OR point_code2 = ivt.empty_point_code ) + AND task_status < '07' + AND is_delete = '0' + ) + + OPTION 输入.product_area <> "" + ivt.product_area = 输入.product_area + ENDOPTION + + OPTION 输入.point_location <> "" + ivt.point_location = 输入.point_location + ENDOPTION + + order by ivt.point_code ASC + + ENDSELECT + ENDQUERY + ENDIF diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/rest/CoolPointIvtController.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/rest/CoolPointIvtController.java index c71c06d..091172e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/rest/CoolPointIvtController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/rest/CoolPointIvtController.java @@ -1,82 +1,82 @@ -package org.nl.wms.pdm.ivt.rest; - - -import com.alibaba.fastjson.JSONObject; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.modules.logging.annotation.Log; -import org.nl.wms.pdm.ivt.service.CoolPointIvtService; -import org.nl.wms.pdm.ivt.service.dto.CoolPointIvtDto; -import org.springframework.data.domain.Pageable; -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.Map; - -/** - * @author lyd - * @date 2022-10-08 - **/ -@RestController -@RequiredArgsConstructor - -@RequestMapping("/api/stIvtCoolpointivt") -@Slf4j -public class CoolPointIvtController { - - private final CoolPointIvtService coolpointivtService; - - @GetMapping - @Log("查询冷却区库存") - - //@SaCheckPermission("@el.check('stIvtCoolpointivt:list')") - public ResponseEntity query(@RequestParam Map whereJson, Pageable page) { - return new ResponseEntity<>(coolpointivtService.queryAll(whereJson, page), HttpStatus.OK); - } - - @PostMapping - @Log("新增冷却区库存") - - //@SaCheckPermission("@el.check('stIvtCoolpointivt:add')") - public ResponseEntity create(@Validated @RequestBody CoolPointIvtDto dto) { - coolpointivtService.create(dto); - return new ResponseEntity<>(HttpStatus.CREATED); - } - - @PutMapping - @Log("修改冷却区库存") - - //@SaCheckPermission("@el.check('stIvtCoolpointivt:edit')") - public ResponseEntity update(@Validated @RequestBody CoolPointIvtDto dto) { - coolpointivtService.update(dto); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @Log("删除冷却区库存") - - //@SaCheckPermission("@el.check('stIvtCoolpointivt:del')") - @DeleteMapping - public ResponseEntity delete(@RequestBody Long[] ids) { - coolpointivtService.deleteAll(ids); - return new ResponseEntity<>(HttpStatus.OK); - } - - @GetMapping("/coolRegionIOQueryAll") - @Log("冷却区出入表") - - //@SaCheckPermission("@el.check('stIvtCoolpointivt:list')") - public ResponseEntity coolRegionIOQueryAll(@RequestParam Map whereJson, Pageable page) { - return new ResponseEntity<>(coolpointivtService.coolRegionIOQueryAll(whereJson, page), HttpStatus.OK); - } - - @PostMapping("/uploadMes") - @Log("手动回传MES") - - public ResponseEntity uploadMes(@RequestBody JSONObject form) { - coolpointivtService.uploadMes(form); - return new ResponseEntity<>(HttpStatus.OK); - } - -} +//package org.nl.wms.pdm.ivt.rest; +// +// +//import com.alibaba.fastjson.JSONObject; +//import lombok.RequiredArgsConstructor; +//import lombok.extern.slf4j.Slf4j; +//import org.nl.modules.logging.annotation.Log; +//import org.nl.wms.pdm.ivt.service.CoolPointIvtService; +//import org.nl.wms.pdm.ivt.service.dto.CoolPointIvtDto; +//import org.springframework.data.domain.Pageable; +//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.Map; +// +///** +// * @author lyd +// * @date 2022-10-08 +// **/ +//@RestController +//@RequiredArgsConstructor +// +//@RequestMapping("/api/stIvtCoolpointivt") +//@Slf4j +//public class CoolPointIvtController { +// +// private final CoolPointIvtService coolpointivtService; +// +// @GetMapping +// @Log("查询冷却区库存") +// +// //@SaCheckPermission("@el.check('stIvtCoolpointivt:list')") +// public ResponseEntity query(@RequestParam Map whereJson, Pageable page) { +// return new ResponseEntity<>(coolpointivtService.queryAll(whereJson, page), HttpStatus.OK); +// } +// +// @PostMapping +// @Log("新增冷却区库存") +// +// //@SaCheckPermission("@el.check('stIvtCoolpointivt:add')") +// public ResponseEntity create(@Validated @RequestBody CoolPointIvtDto dto) { +// coolpointivtService.create(dto); +// return new ResponseEntity<>(HttpStatus.CREATED); +// } +// +// @PutMapping +// @Log("修改冷却区库存") +// +// //@SaCheckPermission("@el.check('stIvtCoolpointivt:edit')") +// public ResponseEntity update(@Validated @RequestBody CoolPointIvtDto dto) { +// coolpointivtService.update(dto); +// return new ResponseEntity<>(HttpStatus.NO_CONTENT); +// } +// +// @Log("删除冷却区库存") +// +// //@SaCheckPermission("@el.check('stIvtCoolpointivt:del')") +// @DeleteMapping +// public ResponseEntity delete(@RequestBody Long[] ids) { +// coolpointivtService.deleteAll(ids); +// return new ResponseEntity<>(HttpStatus.OK); +// } +// +// @GetMapping("/coolRegionIOQueryAll") +// @Log("冷却区出入表") +// +// //@SaCheckPermission("@el.check('stIvtCoolpointivt:list')") +// public ResponseEntity coolRegionIOQueryAll(@RequestParam Map whereJson, Pageable page) { +// return new ResponseEntity<>(coolpointivtService.coolRegionIOQueryAll(whereJson, page), HttpStatus.OK); +// } +// +// @PostMapping("/uploadMes") +// @Log("手动回传MES") +// +// public ResponseEntity uploadMes(@RequestBody JSONObject form) { +// coolpointivtService.uploadMes(form); +// return new ResponseEntity<>(HttpStatus.OK); +// } +// +//} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/rest/CutPointIvtController.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/rest/CutPointIvtController.java index d9c8d89..b1f6a28 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/rest/CutPointIvtController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/rest/CutPointIvtController.java @@ -35,6 +35,13 @@ public class CutPointIvtController { return new ResponseEntity<>(cutpointivtService.queryAll(whereJson, page), HttpStatus.OK); } + @GetMapping("/getResources") + @Log("查询分切机台") + + public ResponseEntity getResources() { + return new ResponseEntity<>(cutpointivtService.getResources(), HttpStatus.OK); + } + @PostMapping @Log("新增分切区点库存") diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/rest/SbPointIvtController.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/rest/SbPointIvtController.java index 6d6f6e6..340cf87 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/rest/SbPointIvtController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/rest/SbPointIvtController.java @@ -1,64 +1,64 @@ -package org.nl.wms.pdm.ivt.rest; - - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.modules.logging.annotation.Log; -import org.nl.wms.pdm.ivt.service.SbPointIvtService; -import org.nl.wms.pdm.ivt.service.dto.SbPointIvtDto; -import org.springframework.data.domain.Pageable; -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.Map; - -/** - * @author lyd - * @date 2022-10-10 - **/ -@RestController -@RequiredArgsConstructor - -@RequestMapping("/api/sbpointivt") -@Slf4j -public class SbPointIvtController { - - private final SbPointIvtService sbpointivtService; - - @GetMapping - @Log("查询生箔点位库存") - - //@SaCheckPermission("@el.check('sbpointivt:list')") - public ResponseEntity query(@RequestParam Map whereJson, Pageable page) { - return new ResponseEntity<>(sbpointivtService.queryAll(whereJson, page), HttpStatus.OK); - } - - @PostMapping - @Log("新增生箔点位库存") - - //@SaCheckPermission("@el.check('sbpointivt:add')") - public ResponseEntity create(@Validated @RequestBody SbPointIvtDto dto) { - sbpointivtService.create(dto); - return new ResponseEntity<>(HttpStatus.CREATED); - } - - @PutMapping - @Log("修改生箔点位库存") - - //@SaCheckPermission("@el.check('sbpointivt:edit')") - public ResponseEntity update(@Validated @RequestBody SbPointIvtDto dto) { - sbpointivtService.update(dto); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @Log("删除生箔点位库存") - - //@SaCheckPermission("@el.check('sbpointivt:del')") - @DeleteMapping - public ResponseEntity delete(@RequestBody Long[] ids) { - sbpointivtService.deleteAll(ids); - return new ResponseEntity<>(HttpStatus.OK); - } -} +//package org.nl.wms.pdm.ivt.rest; +// +// +//import lombok.RequiredArgsConstructor; +//import lombok.extern.slf4j.Slf4j; +//import org.nl.modules.logging.annotation.Log; +//import org.nl.wms.pdm.ivt.service.SbPointIvtService; +//import org.nl.wms.pdm.ivt.service.dto.SbPointIvtDto; +//import org.springframework.data.domain.Pageable; +//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.Map; +// +///** +// * @author lyd +// * @date 2022-10-10 +// **/ +//@RestController +//@RequiredArgsConstructor +// +//@RequestMapping("/api/sbpointivt") +//@Slf4j +//public class SbPointIvtController { +// +// private final SbPointIvtService sbpointivtService; +// +// @GetMapping +// @Log("查询生箔点位库存") +// +// //@SaCheckPermission("@el.check('sbpointivt:list')") +// public ResponseEntity query(@RequestParam Map whereJson, Pageable page) { +// return new ResponseEntity<>(sbpointivtService.queryAll(whereJson, page), HttpStatus.OK); +// } +// +// @PostMapping +// @Log("新增生箔点位库存") +// +// //@SaCheckPermission("@el.check('sbpointivt:add')") +// public ResponseEntity create(@Validated @RequestBody SbPointIvtDto dto) { +// sbpointivtService.create(dto); +// return new ResponseEntity<>(HttpStatus.CREATED); +// } +// +// @PutMapping +// @Log("修改生箔点位库存") +// +// //@SaCheckPermission("@el.check('sbpointivt:edit')") +// public ResponseEntity update(@Validated @RequestBody SbPointIvtDto dto) { +// sbpointivtService.update(dto); +// return new ResponseEntity<>(HttpStatus.NO_CONTENT); +// } +// +// @Log("删除生箔点位库存") +// +// //@SaCheckPermission("@el.check('sbpointivt:del')") +// @DeleteMapping +// public ResponseEntity delete(@RequestBody Long[] ids) { +// sbpointivtService.deleteAll(ids); +// return new ResponseEntity<>(HttpStatus.OK); +// } +//} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/CoolPointIvtService.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/CoolPointIvtService.java index a82690b..64395d3 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/CoolPointIvtService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/CoolPointIvtService.java @@ -1,82 +1,82 @@ -package org.nl.wms.pdm.ivt.service; - -import com.alibaba.fastjson.JSONObject; -import org.nl.wms.pdm.ivt.service.dto.CoolPointIvtDto; -import org.springframework.data.domain.Pageable; - -import java.util.List; -import java.util.Map; - -/** - * @author lyd - * @description 服务接口 - * @date 2022-10-08 - **/ -public interface CoolPointIvtService { - - /** - * 查询数据分页 - * - * @param whereJson 条件 - * @param page 分页参数 - * @return Map - */ - Map queryAll(Map whereJson, Pageable page); - - /** - * 查询所有数据不分页 - * - * @param whereJson 条件参数 - * @return List - */ - List queryAll(Map whereJson); - - /** - * 根据ID查询 - * - * @param ivt_id ID - * @return StIvtCoolpointivt - */ - CoolPointIvtDto findById(Long ivt_id); - - /** - * 根据编码查询 - * - * @param code code - * @return StIvtCoolpointivt - */ - CoolPointIvtDto findByCode(String code); - - - /** - * 创建 - * - * @param dto / - */ - void create(CoolPointIvtDto dto); - - /** - * 编辑 - * - * @param dto / - */ - void update(CoolPointIvtDto dto); - - /** - * 多选删除 - * - * @param ids / - */ - void deleteAll(Long[] ids); - - /** - * 冷却区出入分页查询 - * - * @param whereJson - * @param page - * @return - */ - Map coolRegionIOQueryAll(Map whereJson, Pageable page); - - void uploadMes(JSONObject form); -} +//package org.nl.wms.pdm.ivt.service; +// +//import com.alibaba.fastjson.JSONObject; +//import org.nl.wms.pdm.ivt.service.dto.CoolPointIvtDto; +//import org.springframework.data.domain.Pageable; +// +//import java.util.List; +//import java.util.Map; +// +///** +// * @author lyd +// * @description 服务接口 +// * @date 2022-10-08 +// **/ +//public interface CoolPointIvtService { +// +// /** +// * 查询数据分页 +// * +// * @param whereJson 条件 +// * @param page 分页参数 +// * @return Map +// */ +// Map queryAll(Map whereJson, Pageable page); +// +// /** +// * 查询所有数据不分页 +// * +// * @param whereJson 条件参数 +// * @return List +// */ +// List queryAll(Map whereJson); +// +// /** +// * 根据ID查询 +// * +// * @param ivt_id ID +// * @return StIvtCoolpointivt +// */ +// CoolPointIvtDto findById(Long ivt_id); +// +// /** +// * 根据编码查询 +// * +// * @param code code +// * @return StIvtCoolpointivt +// */ +// CoolPointIvtDto findByCode(String code); +// +// +// /** +// * 创建 +// * +// * @param dto / +// */ +// void create(CoolPointIvtDto dto); +// +// /** +// * 编辑 +// * +// * @param dto / +// */ +// void update(CoolPointIvtDto dto); +// +// /** +// * 多选删除 +// * +// * @param ids / +// */ +// void deleteAll(Long[] ids); +// +// /** +// * 冷却区出入分页查询 +// * +// * @param whereJson +// * @param page +// * @return +// */ +// Map coolRegionIOQueryAll(Map whereJson, Pageable page); +// +// void uploadMes(JSONObject form); +//} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/CutPointIvtService.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/CutPointIvtService.java index 5e967b2..b558cb7 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/CutPointIvtService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/CutPointIvtService.java @@ -67,4 +67,6 @@ public interface CutPointIvtService { * @param ids / */ void deleteAll(Long[] ids); + + List getResources(); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/SbPointIvtService.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/SbPointIvtService.java index e07676b..6ba516f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/SbPointIvtService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/SbPointIvtService.java @@ -1,70 +1,70 @@ -package org.nl.wms.pdm.ivt.service; - -import org.nl.wms.pdm.ivt.service.dto.SbPointIvtDto; -import org.springframework.data.domain.Pageable; - -import java.util.List; -import java.util.Map; - -/** - * @author lyd - * @description 服务接口 - * @date 2022-10-10 - **/ -public interface SbPointIvtService { - - /** - * 查询数据分页 - * - * @param whereJson 条件 - * @param page 分页参数 - * @return Map - */ - Map queryAll(Map whereJson, Pageable page); - - /** - * 查询所有数据不分页 - * - * @param whereJson 条件参数 - * @return List - */ - List queryAll(Map whereJson); - - /** - * 根据ID查询 - * - * @param point_id ID - * @return Sbpointivt - */ - SbPointIvtDto findById(Long point_id); - - /** - * 根据编码查询 - * - * @param code code - * @return Sbpointivt - */ - SbPointIvtDto findByCode(String code); - - - /** - * 创建 - * - * @param dto / - */ - void create(SbPointIvtDto dto); - - /** - * 编辑 - * - * @param dto / - */ - void update(SbPointIvtDto dto); - - /** - * 多选删除 - * - * @param ids / - */ - void deleteAll(Long[] ids); -} \ No newline at end of file +//package org.nl.wms.pdm.ivt.service; +// +//import org.nl.wms.pdm.ivt.service.dto.SbPointIvtDto; +//import org.springframework.data.domain.Pageable; +// +//import java.util.List; +//import java.util.Map; +// +///** +// * @author lyd +// * @description 服务接口 +// * @date 2022-10-10 +// **/ +//public interface SbPointIvtService { +// +// /** +// * 查询数据分页 +// * +// * @param whereJson 条件 +// * @param page 分页参数 +// * @return Map +// */ +// Map queryAll(Map whereJson, Pageable page); +// +// /** +// * 查询所有数据不分页 +// * +// * @param whereJson 条件参数 +// * @return List +// */ +// List queryAll(Map whereJson); +// +// /** +// * 根据ID查询 +// * +// * @param point_id ID +// * @return Sbpointivt +// */ +// SbPointIvtDto findById(Long point_id); +// +// /** +// * 根据编码查询 +// * +// * @param code code +// * @return Sbpointivt +// */ +// SbPointIvtDto findByCode(String code); +// +// +// /** +// * 创建 +// * +// * @param dto / +// */ +// void create(SbPointIvtDto dto); +// +// /** +// * 编辑 +// * +// * @param dto / +// */ +// void update(SbPointIvtDto dto); +// +// /** +// * 多选删除 +// * +// * @param ids / +// */ +// void deleteAll(Long[] ids); +//} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/CutPointIvtDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/CutPointIvtDto.java index f09cd87..de34462 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/CutPointIvtDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/CutPointIvtDto.java @@ -87,6 +87,11 @@ public class CutPointIvtDto implements Serializable { */ private String remark; + /** + * 备注 + */ + private String ext_code; + /** * 创建人 */ diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/CoolPointIvtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/CoolPointIvtServiceImpl.java index 914870d..5a1aa8d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/CoolPointIvtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/CoolPointIvtServiceImpl.java @@ -1,221 +1,221 @@ -package org.nl.wms.pdm.ivt.service.impl; - - -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.map.MapUtil; -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.common.utils.SecurityUtils; -import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.wql.WQL; -import org.nl.modules.wql.core.bean.WQLObject; -import org.nl.modules.wql.util.SpringContextHolder; -import org.nl.modules.wql.util.WqlUtil; -import org.nl.system.service.param.impl.SysParamServiceImpl; -import org.nl.wms.basedata.st.service.impl.UserAreaServiceImpl; -import org.nl.wms.ext.mes.service.LmsToMesService; -import org.nl.wms.ext.mes.service.impl.LmsToMesServiceImpl; -import org.nl.wms.pdm.ivt.service.CoolPointIvtService; -import org.nl.wms.pdm.ivt.service.dto.CoolPointIvtDto; -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * @author lyd - * @description 服务实现 - * @date 2022-10-08 - **/ -@Service -@RequiredArgsConstructor -@Slf4j -public class CoolPointIvtServiceImpl implements CoolPointIvtService { - - @Override - public Map queryAll(Map whereJson, Pageable page) { - - //获取人员对应的区域 - UserAreaServiceImpl userAreaService = new UserAreaServiceImpl(); - String in_area_id = userAreaService.getInArea(); - HashMap map = new HashMap(); - map.put("flag", "1"); - if (whereJson.get("point_code") != null) { - map.put("point_code", "%" + whereJson.get("point_code") + "%"); - } - if (whereJson.get("container_name") != null) { - map.put("container_name", "%" + whereJson.get("container_name") + "%"); - } - map.put("full_point_status", whereJson.get("full_point_status")); - map.put("empty_point_status", whereJson.get("empty_point_status")); - map.put("cool_ivt_status", whereJson.get("cool_ivt_status")); - map.put("product_area", whereJson.get("product_area")); - map.put("is_used", whereJson.get("is_used")); - map.put("begin_time", whereJson.get("begin_time")); - map.put("end_time", whereJson.get("end_time")); - map.put("point_location", whereJson.get("point_location")); - if (ObjectUtil.isNotEmpty(in_area_id)) { - map.put("in_area_id", in_area_id); - } - JSONObject json = WQL.getWO("ST_IVT_COOLPOINTIVT").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "product_area,point_code"); - return json; - } - - @Override - public List queryAll(Map whereJson) { - WQLObject wo = WQLObject.getWQLObject("st_ivt_coolpointivt"); - JSONArray arr = wo.query().getResultJSONArray(0); - if (ObjectUtil.isNotEmpty(arr)) { - return arr.toJavaList(CoolPointIvtDto.class); - } - return null; - } - - @Override - public CoolPointIvtDto findById(Long ivt_id) { - WQLObject wo = WQLObject.getWQLObject("st_ivt_coolpointivt"); - JSONObject json = wo.query("ivt_id = '" + ivt_id + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(json)) { - return json.toJavaObject(CoolPointIvtDto.class); - } - return null; - } - - @Override - public CoolPointIvtDto findByCode(String code) { - WQLObject wo = WQLObject.getWQLObject("st_ivt_coolpointivt"); - JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(json)) { - return json.toJavaObject(CoolPointIvtDto.class); - } - return null; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void create(CoolPointIvtDto dto) { - String currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - - dto.setIvt_id(IdUtil.getSnowflake(1, 1).nextId()); - dto.setCreate_id(currentUserId); - dto.setCreate_name(nickName); - dto.setUpdate_optid(currentUserId); - dto.setUpdate_optname(nickName); - dto.setUpdate_time(now); - dto.setCreate_time(now); - - WQLObject wo = WQLObject.getWQLObject("st_ivt_coolpointivt"); - JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); - wo.insert(json); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(CoolPointIvtDto dto) { - CoolPointIvtDto entity = this.findById(dto.getIvt_id()); - if (entity == null) { - throw new BadRequestException("被删除或无权限,操作失败!"); - } - - String currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - - String now = DateUtil.now(); - dto.setUpdate_time(now); - dto.setUpdate_optid(currentUserId); - dto.setUpdate_optname(nickName); - - WQLObject wo = WQLObject.getWQLObject("st_ivt_coolpointivt"); - JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); - wo.update(json); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteAll(Long[] ids) { - String currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - - WQLObject wo = WQLObject.getWQLObject("st_ivt_coolpointivt"); - for (Long ivt_id : ids) { - JSONObject param = new JSONObject(); - param.put("ivt_id", String.valueOf(ivt_id)); - param.put("is_delete", "1"); - param.put("update_optid", currentUserId); - param.put("update_optname", nickName); - param.put("update_time", now); - wo.update(param); - } - } - - /** - * 冷却区出入分页查询 - * - * @param whereJson - * @param page - * @return - */ - @Override - public Map coolRegionIOQueryAll(Map whereJson, Pageable page) { - String start_point_code = MapUtil.getStr(whereJson, "start_point_code"); - String end_point_code = MapUtil.getStr(whereJson, "end_point_code"); - String pcsn = MapUtil.getStr(whereJson, "pcsn"); - String vehicle_code = MapUtil.getStr(whereJson, "vehicle_code"); - - JSONObject map = new JSONObject(); - map.put("flag", "2"); - map.put("begin_time", whereJson.get("begin_time")); - map.put("end_time", whereJson.get("end_time")); - if (ObjectUtil.isNotEmpty(start_point_code)) { - map.put("start_point_code", "%" + start_point_code + "%"); - } - if (ObjectUtil.isNotEmpty(end_point_code)) { - map.put("end_point_code", "%" + end_point_code + "%"); - } - if (ObjectUtil.isNotEmpty(pcsn)) { - map.put("pcsn", "%" + pcsn + "%"); - } - if (ObjectUtil.isNotEmpty(vehicle_code)) { - map.put("vehicle_code", "%" + vehicle_code + "%"); - } - - JSONObject json = WQL.getWO("ST_IVT_COOLPOINTIVT").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "update_time desc"); - return json; - } - - @Override - public void uploadMes(JSONObject form) { - //调用回传MES的半成品入库接口 - // 将入冷却信息发送给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(); - String container_name = form.getString("container_name"); - if (StrUtil.isEmpty(container_name)) { - throw new BadRequestException("母卷号不能为空!"); - } - param.put("iContainerName", container_name); - 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"))) { - SpringContextHolder.getBean(LmsToMesService.class).momRollSemiFGInboundComplete(param); - } - } -} +//package org.nl.wms.pdm.ivt.service.impl; +// +// +//import cn.hutool.core.date.DateUtil; +//import cn.hutool.core.map.MapUtil; +//import cn.hutool.core.util.IdUtil; +//import cn.hutool.core.util.ObjectUtil; +//import cn.hutool.core.util.StrUtil; +//import com.alibaba.fastjson.JSON; +//import com.alibaba.fastjson.JSONArray; +//import com.alibaba.fastjson.JSONObject; +//import lombok.RequiredArgsConstructor; +//import lombok.extern.slf4j.Slf4j; +//import org.nl.common.utils.SecurityUtils; +//import org.nl.modules.common.exception.BadRequestException; +//import org.nl.modules.wql.WQL; +//import org.nl.modules.wql.core.bean.WQLObject; +//import org.nl.modules.wql.util.SpringContextHolder; +//import org.nl.modules.wql.util.WqlUtil; +//import org.nl.system.service.param.impl.SysParamServiceImpl; +//import org.nl.wms.basedata.st.service.impl.UserAreaServiceImpl; +//import org.nl.wms.ext.mes.service.LmsToMesService; +//import org.nl.wms.ext.mes.service.impl.LmsToMesServiceImpl; +//import org.nl.wms.pdm.ivt.service.CoolPointIvtService; +//import org.nl.wms.pdm.ivt.service.dto.CoolPointIvtDto; +//import org.springframework.data.domain.Pageable; +//import org.springframework.stereotype.Service; +//import org.springframework.transaction.annotation.Transactional; +// +//import java.util.HashMap; +//import java.util.List; +//import java.util.Map; +// +///** +// * @author lyd +// * @description 服务实现 +// * @date 2022-10-08 +// **/ +//@Service +//@RequiredArgsConstructor +//@Slf4j +//public class CoolPointIvtServiceImpl implements CoolPointIvtService { +// +// @Override +// public Map queryAll(Map whereJson, Pageable page) { +// +// //获取人员对应的区域 +// UserAreaServiceImpl userAreaService = new UserAreaServiceImpl(); +// String in_area_id = userAreaService.getInArea(); +// HashMap map = new HashMap(); +// map.put("flag", "1"); +// if (whereJson.get("point_code") != null) { +// map.put("point_code", "%" + whereJson.get("point_code") + "%"); +// } +// if (whereJson.get("container_name") != null) { +// map.put("container_name", "%" + whereJson.get("container_name") + "%"); +// } +// map.put("full_point_status", whereJson.get("full_point_status")); +// map.put("empty_point_status", whereJson.get("empty_point_status")); +// map.put("cool_ivt_status", whereJson.get("cool_ivt_status")); +// map.put("product_area", whereJson.get("product_area")); +// map.put("is_used", whereJson.get("is_used")); +// map.put("begin_time", whereJson.get("begin_time")); +// map.put("end_time", whereJson.get("end_time")); +// map.put("point_location", whereJson.get("point_location")); +// if (ObjectUtil.isNotEmpty(in_area_id)) { +// map.put("in_area_id", in_area_id); +// } +// JSONObject json = WQL.getWO("ST_IVT_COOLPOINTIVT").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "product_area,point_code"); +// return json; +// } +// +// @Override +// public List queryAll(Map whereJson) { +// WQLObject wo = WQLObject.getWQLObject("st_ivt_coolpointivt"); +// JSONArray arr = wo.query().getResultJSONArray(0); +// if (ObjectUtil.isNotEmpty(arr)) { +// return arr.toJavaList(CoolPointIvtDto.class); +// } +// return null; +// } +// +// @Override +// public CoolPointIvtDto findById(Long ivt_id) { +// WQLObject wo = WQLObject.getWQLObject("st_ivt_coolpointivt"); +// JSONObject json = wo.query("ivt_id = '" + ivt_id + "'").uniqueResult(0); +// if (ObjectUtil.isNotEmpty(json)) { +// return json.toJavaObject(CoolPointIvtDto.class); +// } +// return null; +// } +// +// @Override +// public CoolPointIvtDto findByCode(String code) { +// WQLObject wo = WQLObject.getWQLObject("st_ivt_coolpointivt"); +// JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0); +// if (ObjectUtil.isNotEmpty(json)) { +// return json.toJavaObject(CoolPointIvtDto.class); +// } +// return null; +// } +// +// @Override +// @Transactional(rollbackFor = Exception.class) +// public void create(CoolPointIvtDto dto) { +// String currentUserId = SecurityUtils.getCurrentUserId(); +// String nickName = SecurityUtils.getCurrentNickName(); +// String now = DateUtil.now(); +// +// dto.setIvt_id(IdUtil.getSnowflake(1, 1).nextId()); +// dto.setCreate_id(currentUserId); +// dto.setCreate_name(nickName); +// dto.setUpdate_optid(currentUserId); +// dto.setUpdate_optname(nickName); +// dto.setUpdate_time(now); +// dto.setCreate_time(now); +// +// WQLObject wo = WQLObject.getWQLObject("st_ivt_coolpointivt"); +// JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); +// wo.insert(json); +// } +// +// @Override +// @Transactional(rollbackFor = Exception.class) +// public void update(CoolPointIvtDto dto) { +// CoolPointIvtDto entity = this.findById(dto.getIvt_id()); +// if (entity == null) { +// throw new BadRequestException("被删除或无权限,操作失败!"); +// } +// +// String currentUserId = SecurityUtils.getCurrentUserId(); +// String nickName = SecurityUtils.getCurrentNickName(); +// +// String now = DateUtil.now(); +// dto.setUpdate_time(now); +// dto.setUpdate_optid(currentUserId); +// dto.setUpdate_optname(nickName); +// +// WQLObject wo = WQLObject.getWQLObject("st_ivt_coolpointivt"); +// JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); +// wo.update(json); +// } +// +// @Override +// @Transactional(rollbackFor = Exception.class) +// public void deleteAll(Long[] ids) { +// String currentUserId = SecurityUtils.getCurrentUserId(); +// String nickName = SecurityUtils.getCurrentNickName(); +// String now = DateUtil.now(); +// +// WQLObject wo = WQLObject.getWQLObject("st_ivt_coolpointivt"); +// for (Long ivt_id : ids) { +// JSONObject param = new JSONObject(); +// param.put("ivt_id", String.valueOf(ivt_id)); +// param.put("is_delete", "1"); +// param.put("update_optid", currentUserId); +// param.put("update_optname", nickName); +// param.put("update_time", now); +// wo.update(param); +// } +// } +// +// /** +// * 冷却区出入分页查询 +// * +// * @param whereJson +// * @param page +// * @return +// */ +// @Override +// public Map coolRegionIOQueryAll(Map whereJson, Pageable page) { +// String start_point_code = MapUtil.getStr(whereJson, "start_point_code"); +// String end_point_code = MapUtil.getStr(whereJson, "end_point_code"); +// String pcsn = MapUtil.getStr(whereJson, "pcsn"); +// String vehicle_code = MapUtil.getStr(whereJson, "vehicle_code"); +// +// JSONObject map = new JSONObject(); +// map.put("flag", "2"); +// map.put("begin_time", whereJson.get("begin_time")); +// map.put("end_time", whereJson.get("end_time")); +// if (ObjectUtil.isNotEmpty(start_point_code)) { +// map.put("start_point_code", "%" + start_point_code + "%"); +// } +// if (ObjectUtil.isNotEmpty(end_point_code)) { +// map.put("end_point_code", "%" + end_point_code + "%"); +// } +// if (ObjectUtil.isNotEmpty(pcsn)) { +// map.put("pcsn", "%" + pcsn + "%"); +// } +// if (ObjectUtil.isNotEmpty(vehicle_code)) { +// map.put("vehicle_code", "%" + vehicle_code + "%"); +// } +// +// JSONObject json = WQL.getWO("ST_IVT_COOLPOINTIVT").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "update_time desc"); +// return json; +// } +// +// @Override +// public void uploadMes(JSONObject form) { +// //调用回传MES的半成品入库接口 +// // 将入冷却信息发送给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(); +// String container_name = form.getString("container_name"); +// if (StrUtil.isEmpty(container_name)) { +// throw new BadRequestException("母卷号不能为空!"); +// } +// param.put("iContainerName", container_name); +// 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"))) { +// SpringContextHolder.getBean(LmsToMesService.class).momRollSemiFGInboundComplete(param); +// } +// } +//} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/CutPointIvtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/CutPointIvtServiceImpl.java index 526b58f..bc3e2aa 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/CutPointIvtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/CutPointIvtServiceImpl.java @@ -21,6 +21,7 @@ import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -146,4 +147,19 @@ public class CutPointIvtServiceImpl implements CutPointIvtService { } } + @Override + public List getResources() { + List resources = new ArrayList<>(); + List cutPointIvts = new ArrayList<>(); + WQLObject wo = WQLObject.getWQLObject("st_ivt_cutpointivt"); + JSONArray arr = wo.query().getResultJSONArray(0); + if (ObjectUtil.isNotEmpty(arr)) { + cutPointIvts = arr.toJavaList(CutPointIvtDto.class); + for (CutPointIvtDto cutPointIvt : cutPointIvts) { + resources.add(cutPointIvt.getExt_code()); + } + } + return resources; + } + } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/SbPointIvtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/SbPointIvtServiceImpl.java index edc370d..b835bf8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/SbPointIvtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/SbPointIvtServiceImpl.java @@ -1,146 +1,146 @@ -package org.nl.wms.pdm.ivt.service.impl; - - -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.ObjectUtil; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.common.utils.SecurityUtils; -import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.wql.WQL; -import org.nl.modules.wql.core.bean.WQLObject; -import org.nl.modules.wql.util.WqlUtil; -import org.nl.wms.basedata.st.service.impl.UserAreaServiceImpl; -import org.nl.wms.pdm.ivt.service.SbPointIvtService; -import org.nl.wms.pdm.ivt.service.dto.SbPointIvtDto; -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.Map; - -/** - * @author lyd - * @description 服务实现 - * @date 2022-10-10 - **/ -@Service -@RequiredArgsConstructor -@Slf4j -public class SbPointIvtServiceImpl implements SbPointIvtService { - - @Override - public Map queryAll(Map whereJson, Pageable page) { - //获取人员对应的区域 - UserAreaServiceImpl userAreaService = new UserAreaServiceImpl(); - String in_area_id = userAreaService.getInArea(); - JSONObject map = new JSONObject(); - map.put("flag", "1"); - if (!ObjectUtil.isNull(whereJson.get("point_code"))) { - map.put("point_code", "%" + whereJson.get("point_code") + "%"); - } - map.put("product_area", whereJson.get("product_area")); - map.put("is_used", whereJson.get("is_used")); - map.put("mes_used", whereJson.get("mes_used")); - if (ObjectUtil.isNotEmpty(in_area_id)) { - map.put("in_area_id", in_area_id); - } - JSONObject json = WQL.getWO("ST_IVT_SBPOINTIVT").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "product_area,point_code"); - return json; - } - - @Override - public List queryAll(Map whereJson) { - WQLObject wo = WQLObject.getWQLObject("st_ivt_sbpointivt"); - JSONArray arr = wo.query().getResultJSONArray(0); - if (ObjectUtil.isNotEmpty(arr)) { - return arr.toJavaList(SbPointIvtDto.class); - } - return null; - } - - @Override - public SbPointIvtDto findById(Long point_id) { - WQLObject wo = WQLObject.getWQLObject("st_ivt_sbpointivt"); - JSONObject json = wo.query("point_id = '" + point_id + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(json)) { - return json.toJavaObject(SbPointIvtDto.class); - } - return null; - } - - @Override - public SbPointIvtDto findByCode(String code) { - WQLObject wo = WQLObject.getWQLObject("st_ivt_sbpointivt"); - JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(json)) { - return json.toJavaObject(SbPointIvtDto.class); - } - return null; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void create(SbPointIvtDto dto) { - String currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - - dto.setPoint_id(IdUtil.getSnowflake(1, 1).nextId()); - dto.setCreate_id(currentUserId); - dto.setCreate_name(nickName); - dto.setUpdate_optid(currentUserId); - dto.setUpdate_optname(nickName); - dto.setUpdate_time(now); - dto.setCreate_time(now); - - WQLObject wo = WQLObject.getWQLObject("st_ivt_sbpointivt"); - JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); - wo.insert(json); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(SbPointIvtDto dto) { - SbPointIvtDto entity = this.findById(dto.getPoint_id()); - if (entity == null) { - throw new BadRequestException("被删除或无权限,操作失败!"); - } - - String currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - - String now = DateUtil.now(); - dto.setUpdate_time(now); - dto.setUpdate_optid(currentUserId); - dto.setUpdate_optname(nickName); - - WQLObject wo = WQLObject.getWQLObject("st_ivt_sbpointivt"); - JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); - wo.update(json); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteAll(Long[] ids) { - String currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - - WQLObject wo = WQLObject.getWQLObject("st_ivt_sbpointivt"); - for (Long point_id : ids) { - JSONObject param = new JSONObject(); - param.put("point_id", String.valueOf(point_id)); - param.put("is_delete", "1"); - param.put("update_optid", currentUserId); - param.put("update_optname", nickName); - param.put("update_time", now); - wo.update(param); - } - } -} +//package org.nl.wms.pdm.ivt.service.impl; +// +// +//import cn.hutool.core.date.DateUtil; +//import cn.hutool.core.util.IdUtil; +//import cn.hutool.core.util.ObjectUtil; +//import com.alibaba.fastjson.JSON; +//import com.alibaba.fastjson.JSONArray; +//import com.alibaba.fastjson.JSONObject; +//import lombok.RequiredArgsConstructor; +//import lombok.extern.slf4j.Slf4j; +//import org.nl.common.utils.SecurityUtils; +//import org.nl.modules.common.exception.BadRequestException; +//import org.nl.modules.wql.WQL; +//import org.nl.modules.wql.core.bean.WQLObject; +//import org.nl.modules.wql.util.WqlUtil; +//import org.nl.wms.basedata.st.service.impl.UserAreaServiceImpl; +//import org.nl.wms.pdm.ivt.service.SbPointIvtService; +//import org.nl.wms.pdm.ivt.service.dto.SbPointIvtDto; +//import org.springframework.data.domain.Pageable; +//import org.springframework.stereotype.Service; +//import org.springframework.transaction.annotation.Transactional; +// +//import java.util.List; +//import java.util.Map; +// +///** +// * @author lyd +// * @description 服务实现 +// * @date 2022-10-10 +// **/ +//@Service +//@RequiredArgsConstructor +//@Slf4j +//public class SbPointIvtServiceImpl implements SbPointIvtService { +// +// @Override +// public Map queryAll(Map whereJson, Pageable page) { +// //获取人员对应的区域 +// UserAreaServiceImpl userAreaService = new UserAreaServiceImpl(); +// String in_area_id = userAreaService.getInArea(); +// JSONObject map = new JSONObject(); +// map.put("flag", "1"); +// if (!ObjectUtil.isNull(whereJson.get("point_code"))) { +// map.put("point_code", "%" + whereJson.get("point_code") + "%"); +// } +// map.put("product_area", whereJson.get("product_area")); +// map.put("is_used", whereJson.get("is_used")); +// map.put("mes_used", whereJson.get("mes_used")); +// if (ObjectUtil.isNotEmpty(in_area_id)) { +// map.put("in_area_id", in_area_id); +// } +// JSONObject json = WQL.getWO("ST_IVT_SBPOINTIVT").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "product_area,point_code"); +// return json; +// } +// +// @Override +// public List queryAll(Map whereJson) { +// WQLObject wo = WQLObject.getWQLObject("st_ivt_sbpointivt"); +// JSONArray arr = wo.query().getResultJSONArray(0); +// if (ObjectUtil.isNotEmpty(arr)) { +// return arr.toJavaList(SbPointIvtDto.class); +// } +// return null; +// } +// +// @Override +// public SbPointIvtDto findById(Long point_id) { +// WQLObject wo = WQLObject.getWQLObject("st_ivt_sbpointivt"); +// JSONObject json = wo.query("point_id = '" + point_id + "'").uniqueResult(0); +// if (ObjectUtil.isNotEmpty(json)) { +// return json.toJavaObject(SbPointIvtDto.class); +// } +// return null; +// } +// +// @Override +// public SbPointIvtDto findByCode(String code) { +// WQLObject wo = WQLObject.getWQLObject("st_ivt_sbpointivt"); +// JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0); +// if (ObjectUtil.isNotEmpty(json)) { +// return json.toJavaObject(SbPointIvtDto.class); +// } +// return null; +// } +// +// @Override +// @Transactional(rollbackFor = Exception.class) +// public void create(SbPointIvtDto dto) { +// String currentUserId = SecurityUtils.getCurrentUserId(); +// String nickName = SecurityUtils.getCurrentNickName(); +// String now = DateUtil.now(); +// +// dto.setPoint_id(IdUtil.getSnowflake(1, 1).nextId()); +// dto.setCreate_id(currentUserId); +// dto.setCreate_name(nickName); +// dto.setUpdate_optid(currentUserId); +// dto.setUpdate_optname(nickName); +// dto.setUpdate_time(now); +// dto.setCreate_time(now); +// +// WQLObject wo = WQLObject.getWQLObject("st_ivt_sbpointivt"); +// JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); +// wo.insert(json); +// } +// +// @Override +// @Transactional(rollbackFor = Exception.class) +// public void update(SbPointIvtDto dto) { +// SbPointIvtDto entity = this.findById(dto.getPoint_id()); +// if (entity == null) { +// throw new BadRequestException("被删除或无权限,操作失败!"); +// } +// +// String currentUserId = SecurityUtils.getCurrentUserId(); +// String nickName = SecurityUtils.getCurrentNickName(); +// +// String now = DateUtil.now(); +// dto.setUpdate_time(now); +// dto.setUpdate_optid(currentUserId); +// dto.setUpdate_optname(nickName); +// +// WQLObject wo = WQLObject.getWQLObject("st_ivt_sbpointivt"); +// JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); +// wo.update(json); +// } +// +// @Override +// @Transactional(rollbackFor = Exception.class) +// public void deleteAll(Long[] ids) { +// String currentUserId = SecurityUtils.getCurrentUserId(); +// String nickName = SecurityUtils.getCurrentNickName(); +// String now = DateUtil.now(); +// +// WQLObject wo = WQLObject.getWQLObject("st_ivt_sbpointivt"); +// for (Long point_id : ids) { +// JSONObject param = new JSONObject(); +// param.put("point_id", String.valueOf(point_id)); +// param.put("is_delete", "1"); +// param.put("update_optid", currentUserId); +// param.put("update_optname", nickName); +// param.put("update_time", now); +// wo.update(param); +// } +// } +//} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/controller/CoolPointIvtController.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/controller/CoolPointIvtController.java new file mode 100644 index 0000000..32a854f --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/controller/CoolPointIvtController.java @@ -0,0 +1,80 @@ +package org.nl.wms.pdm.rawfoilworkorder.controller; + +import com.alibaba.fastjson.JSONObject; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.modules.logging.annotation.Log; +import org.nl.wms.pdm.rawfoilworkorder.service.CoolPointIvtService; +import org.nl.wms.pdm.rawfoilworkorder.service.dao.CoolPointIvt; +import org.nl.wms.pdm.rawfoilworkorder.service.dto.CoolPointIvtDto; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Pageable; +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.Map; + +@RestController +@RequiredArgsConstructor + +@RequestMapping("/api/stIvtCoolpointivt") +@Slf4j +public class CoolPointIvtController { + + @Autowired + public CoolPointIvtService coolPointIvtService; + + @GetMapping + @Log("查询冷却区库存") + + //@SaCheckPermission("@el.check('stIvtCoolpointivt:list')") + public ResponseEntity query(@RequestParam Map whereJson, Pageable page) { + return new ResponseEntity<>(coolPointIvtService.queryAll(whereJson, page), HttpStatus.OK); + } + + @PostMapping + @Log("新增冷却区库存") + + //@SaCheckPermission("@el.check('stIvtCoolpointivt:add')") + public ResponseEntity create(@Validated @RequestBody CoolPointIvt dto) { + coolPointIvtService.create(dto); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @Log("修改冷却区库存") + + //@SaCheckPermission("@el.check('stIvtCoolpointivt:edit')") + public ResponseEntity update(@Validated @RequestBody CoolPointIvt dto) { + coolPointIvtService.update(dto); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @Log("删除冷却区库存") + + //@SaCheckPermission("@el.check('stIvtCoolpointivt:del')") + @DeleteMapping + public ResponseEntity delete(@RequestBody Long[] ids) { + coolPointIvtService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } + + @GetMapping("/coolRegionIOQueryAll") + @Log("冷却区出入表") + + //@SaCheckPermission("@el.check('stIvtCoolpointivt:list')") + public ResponseEntity coolRegionIOQueryAll(@RequestParam Map whereJson, Pageable page) { + return new ResponseEntity<>(coolPointIvtService.coolRegionIOQueryAll(whereJson, page), HttpStatus.OK); + } + + @PostMapping("/uploadMes") + @Log("手动回传MES") + + public ResponseEntity uploadMes(@RequestBody JSONObject form) { + coolPointIvtService.uploadMes(form); + return new ResponseEntity<>(HttpStatus.OK); + } + +} 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 new file mode 100644 index 0000000..cc1afd6 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/controller/RawfoilWorkOrderController.java @@ -0,0 +1,84 @@ +package org.nl.wms.pdm.rawfoilworkorder.controller; + + +import com.alibaba.fastjson.JSONObject; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.domain.query.PageQuery; +import org.nl.modules.logging.annotation.Log; +import org.nl.wms.pdm.rawfoilworkorder.service.RawfoilWorkOrderService; +import org.nl.wms.pdm.rawfoilworkorder.service.dao.RawfoilWorkOrder; +import org.nl.wms.pdm.rawfoilworkorder.service.dto.RawfoilWorkOrderDto; +import org.nl.wms.pdm.service.dto.RawfoilworkorderDto; +import org.springframework.data.domain.Pageable; +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.Map; + +/** + * @author liuxy + * @date 2022-10-08 + **/ +@RestController +@RequiredArgsConstructor + +@RequestMapping("/api/rawfoilworkorder") +@Slf4j +public class RawfoilWorkOrderController { + + private final RawfoilWorkOrderService rawfoilworkorderService; + + @GetMapping + @Log("查询生箔工序工单") + + //@SaCheckPermission("@el.check('rawfoilworkorder:list')") + public ResponseEntity query(@RequestParam Map whereJson, PageQuery page) { + return new ResponseEntity<>(rawfoilworkorderService.queryAll(whereJson, page), HttpStatus.OK); + } + + @PostMapping + @Log("新增生箔工序工单") + + //@SaCheckPermission("@el.check('rawfoilworkorder:add')") + public ResponseEntity create(@Validated @RequestBody RawfoilWorkOrder dto) { + rawfoilworkorderService.create(dto); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @Log("修改生箔工序工单") + + //@SaCheckPermission("@el.check('rawfoilworkorder:edit')") + public ResponseEntity update(@Validated @RequestBody RawfoilWorkOrder dto) { + rawfoilworkorderService.update(dto); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @Log("删除生箔工序工单") + + //@SaCheckPermission("@el.check('rawfoilworkorder:del')") + @DeleteMapping + public ResponseEntity delete(@RequestBody Long[] ids) { + rawfoilworkorderService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } + + @Log("强制确认") + + @PostMapping("/compelEnd") + public ResponseEntity compelEnd(@RequestBody JSONObject whereJson) { + rawfoilworkorderService.compelEnd(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } + + @Log("称重") + + @PostMapping("/confirm") + public ResponseEntity confirm(@RequestBody JSONObject whereJson) { + rawfoilworkorderService.confirm(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/controller/SbPointIvtController.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/controller/SbPointIvtController.java new file mode 100644 index 0000000..0c3b653 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/controller/SbPointIvtController.java @@ -0,0 +1,69 @@ +package org.nl.wms.pdm.rawfoilworkorder.controller; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.modules.logging.annotation.Log; +import org.nl.wms.pdm.rawfoilworkorder.service.SbPointIvtService; +import org.nl.wms.pdm.rawfoilworkorder.service.dao.SbPointIvt; +import org.nl.wms.pdm.rawfoilworkorder.service.dto.SbPointIvtDto; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Pageable; +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.Map; + +@RestController +@RequiredArgsConstructor + +@RequestMapping("/api/sbpointivt") +@Slf4j +public class SbPointIvtController { + + @Autowired + public SbPointIvtService sbPointIvtService; + + @GetMapping + @Log("查询生箔点位库存") + + public ResponseEntity query(@RequestParam Map whereJson, Pageable page) { + return new ResponseEntity<>(sbPointIvtService.queryAll(whereJson, page), HttpStatus.OK); + } + + @GetMapping("/queryResources") + @Log("查询生箔机台") + + public ResponseEntity queryResources() { + return new ResponseEntity<>(sbPointIvtService.queryResources(), HttpStatus.OK); + } + + @PostMapping + @Log("新增生箔点位库存") + + //@SaCheckPermission("@el.check('sbpointivt:add')") + public ResponseEntity create(@Validated @RequestBody SbPointIvt dto) { + sbPointIvtService.create(dto); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @Log("修改生箔点位库存") + + //@SaCheckPermission("@el.check('sbpointivt:edit')") + public ResponseEntity update(@Validated @RequestBody SbPointIvt dto) { + sbPointIvtService.update(dto); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @Log("删除生箔点位库存") + + //@SaCheckPermission("@el.check('sbpointivt:del')") + @DeleteMapping + public ResponseEntity delete(@RequestBody Long[] ids) { + sbPointIvtService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/CoolPointIvtService.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/CoolPointIvtService.java new file mode 100644 index 0000000..b7093fc --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/CoolPointIvtService.java @@ -0,0 +1,47 @@ +package org.nl.wms.pdm.rawfoilworkorder.service; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.wms.pdm.rawfoilworkorder.service.dao.CoolPointIvt; +import org.nl.wms.pdm.rawfoilworkorder.service.dto.CoolPointIvtDto; +import org.springframework.data.domain.Pageable; + +import java.util.Map; + +public interface CoolPointIvtService extends IService { + /** + * 查询数据分页 + * + * @param whereJson 条件 + * @param page 分页参数 + * @return Map + */ + Map queryAll(Map whereJson, Pageable page); + + /** + * 创建 + * + * @param dto / + */ + void create(CoolPointIvt dto); + + /** + * 编辑 + * + * @param dto / + */ + void update(CoolPointIvt dto); + + void deleteAll(Long[] ids); + + /** + * 冷却区出入分页查询 + * + * @param whereJson + * @param page + * @return + */ + Map coolRegionIOQueryAll(Map whereJson, Pageable page); + + void uploadMes(JSONObject form); +} 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 new file mode 100644 index 0000000..5c604f8 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/RawfoilWorkOrderService.java @@ -0,0 +1,79 @@ +package org.nl.wms.pdm.rawfoilworkorder.service; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.common.domain.query.PageQuery; +import org.nl.wms.pdm.rawfoilworkorder.service.dao.RawfoilWorkOrder; +import org.nl.wms.pdm.rawfoilworkorder.service.dto.RawfoilWorkOrderDto; +import org.nl.wms.pdm.service.dto.RawfoilworkorderDto; +import org.springframework.data.domain.Pageable; + +import java.util.List; +import java.util.Map; + +/** + * @author dsh + * @description 服务接口 + **/ +public interface RawfoilWorkOrderService extends IService { + + /** + * 查询数据分页 + * + * @param whereJson 条件 + * @param page 分页参数 + * @return Map + */ + Map queryAll(Map whereJson, PageQuery page); + + /** + * 查询所有数据不分页 + * + * @param whereJson 条件参数 + * @return List + */ + List queryAll(Map whereJson); + + /** + * 根据ID查询 + * + * @param workorder_id ID + * @return Rawfoilworkorder + */ + RawfoilWorkOrder findById(Long workorder_id); + + /** + * 创建 + * + * @param dto / + */ + void create(RawfoilWorkOrder dto); + + /** + * 编辑 + * + * @param dto / + */ + void update(RawfoilWorkOrder dto); + + /** + * 多选删除 + * + * @param ids / + */ + void deleteAll(Long[] ids); + + /** + * 强制确认 + * + * @param whereJson / + */ + void compelEnd(JSONObject whereJson); + + /** + * 称重 + * + * @param whereJson / + */ + void confirm(JSONObject whereJson); +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/SbPointIvtService.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/SbPointIvtService.java new file mode 100644 index 0000000..9eab10b --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/SbPointIvtService.java @@ -0,0 +1,44 @@ +package org.nl.wms.pdm.rawfoilworkorder.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.wms.pdm.rawfoilworkorder.service.dao.SbPointIvt; +import org.nl.wms.pdm.rawfoilworkorder.service.dto.SbPointIvtDto; +import org.springframework.data.domain.Pageable; + +import java.util.List; +import java.util.Map; + +public interface SbPointIvtService extends IService { + + /** + * 查询数据分页 + * + * @param whereJson 条件 + * @param page 分页参数 + * @return Map + */ + Map queryAll(Map whereJson, Pageable page); + + /** + * 创建 + * + * @param dto / + */ + void create(SbPointIvt dto); + + /** + * 编辑 + * + * @param dto / + */ + void update(SbPointIvt dto); + + /** + * 多选删除 + * + * @param ids / + */ + void deleteAll(Long[] ids); + + List queryResources(); +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/CoolPointIvt.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/CoolPointIvt.java new file mode 100644 index 0000000..c7e5222 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/CoolPointIvt.java @@ -0,0 +1,164 @@ +package org.nl.wms.pdm.rawfoilworkorder.service.dao; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +@Data +@TableName("st_ivt_coolpointivt") +public class CoolPointIvt implements Serializable { + /** 库存记录标识 */ + /** + * 防止精度丢失 + */ + @TableId(value = "ivt_id", type = IdType.NONE) + @JsonSerialize(using = ToStringSerializer.class) + private Long ivt_id; + + /** + * 点位编码 + */ + private String point_code; + + /** + * 满轴位编码 + */ + private String full_point_code; + + /** + * 母卷号 + */ + private String container_name; + + /** + * 母卷工单标识 + */ + private String workorder_id; + + /** + * 母卷轴编码 + */ + private String full_vehicle_code; + + /** + * 空轴位编码 + */ + private String empty_point_code; + + /** + * 空轴编码 + */ + private String empty_vehicle_code; + + /** + * 下料区域标识 + */ + private Long region_id; + + /** + * 批次 + */ + private String pcsn; + + /** + * 库存数 + */ + private BigDecimal ivt_qty; + + /** + * 计量单位标识 + */ + private Long qty_unit_id; + + /** + * 入库时间 + */ + private String instorage_time; + + /** + * 生产区域 + */ + private String product_area; + + /** + * 位置 + */ + private String point_location; + + /** + * 顺序号 + */ + private BigDecimal sort_seq; + + /** + * 是否启用 + */ + private String is_used; + + /** + * 备注 + */ + private String remark; + + /** + * 创建人 + */ + private String create_id; + + /** + * 创建人姓名 + */ + private String create_name; + + /** + * 创建时间 + */ + private String create_time; + + /** + * 修改人 + */ + private String update_optid; + + /** + * 修改人姓名 + */ + private String update_optname; + + /** + * 修改时间 + */ + private String update_time; + + /** + * 满轴位状态 + */ + private String full_point_status; + + /** + * 库存状态 + **/ + private String cool_ivt_status; + + /** + * 空轴位状态 + */ + private String empty_point_status; + + /** + * 规划 + */ + private String plan; + + /** + * 点位类型 + */ + private String point_type; + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/RawfoilWorkOrder.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/RawfoilWorkOrder.java new file mode 100644 index 0000000..6ed010a --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/RawfoilWorkOrder.java @@ -0,0 +1,189 @@ +package org.nl.wms.pdm.rawfoilworkorder.service.dao; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * @author dsh + */ +@Data +@TableName("pdm_bi_rawfoilworkorder") +public class RawfoilWorkOrder implements Serializable { + + /** 工单标识 */ + /** + * 防止精度丢失 + */ + @TableId(value = "point_id", type = IdType.NONE) + @JsonSerialize(using = ToStringSerializer.class) + private Long workorder_id; + + /** + * 母卷号 + */ + private String container_name; + + /** + * 机台编码 + */ + private String resource_name; + + /** + * 生产工单 + */ + private String mfg_order_name; + + /** + * 产品编码 + */ + private String product_name; + + /** + * 产品名称 + */ + private String description; + + /** + * 理论长度 + */ + private BigDecimal theory_height; + + /** + * 设备生产速度 + */ + private BigDecimal eqp_velocity; + + /** + * 上卷开始时间 + */ + private String up_coiler_date; + + /** + * 是否重新更新 + */ + private String is_reload_send; + + /** + * 重量 + */ + private BigDecimal productin_qty; + + /** + * 开始时间 + */ + private String realstart_time; + + /** + * 结束时间 + */ + private String realend_time; + + /** + * 状态 + */ + private String status; + + /** + * 完成方式 + */ + private String finish_type; + + /** + * 车号 + */ + private String agvno; + + /** + * 备注 + */ + private String remark; + + /** + * 创建人 + */ + private String create_id; + + /** + * 创建人 + */ + private String create_name; + + /** + * 创建时间 + */ + private String create_time; + + /** + * 修改人 + */ + private String update_optid; + + /** + * 修改人 + */ + private String update_optname; + + /** + * 修改时间 + */ + private String update_time; + + /** + * 是否删除 + */ + private String is_delete; + + /** + * 生产区域 + */ + private String product_area; + + /** + * 点位编码 + */ + private String point_code; + + /** + * 请求烘烤 + */ + private String is_baking; + + /** + * 请求入半成品库 + */ + private String is_instor; + + /** + * 收卷辊 + */ + private String wind_roll; + + /** + * 类型 + */ + private String order_type; + + /** + * 母卷来源 + * 1-生箔机;2-烘箱;3-分切机 + */ + private String origin; + + /** + * 母卷状态 + * 0-未烘烤;1-已烘烤 + */ + private String roll_status; + + /** + * 批次号 + */ + private String pscn; +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/SbPointIvt.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/SbPointIvt.java new file mode 100644 index 0000000..74f6b34 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/SbPointIvt.java @@ -0,0 +1,122 @@ +package org.nl.wms.pdm.rawfoilworkorder.service.dao; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; + +import java.io.Serializable; + +@Data +@TableName("st_ivt_sbpointivt") +public class SbPointIvt implements Serializable { + /** 点位标识 */ + /** + * 防止精度丢失 + */ + @TableId(value = "point_id", type = IdType.NONE) + @JsonSerialize(using = ToStringSerializer.class) + private Long point_id; + + /** + * 点位编码 + */ + private String point_code; + + /** + * 载具编码 + */ + private String vehicle_code; + + /** + * 生产区域 + */ + private String product_area; + + /** + * 位置 + */ + private String point_location; + + /** + * 外部编码 + */ + private String ext_code; + + /** + * 备注 + */ + private String remark; + + /** + * 是否启用 + */ + private String is_used; + + /** + * 是否启用 + */ + private String mes_used; + + /** + * 创建人 + */ + private String create_id; + + /** + * 创建人 + */ + private String create_name; + + /** + * 创建时间 + */ + private String create_time; + + /** + * 修改人 + */ + private String update_optid; + + /** + * 修改人 + */ + private String update_optname; + + /** + * 修改时间 + */ + private String update_time; + + /** + * 规划 + */ + private String plan; + + /** + * 规划 + */ + private String device_type; + + /** + * 满轴位编码 + */ + private String full_point_code; + + /** + * 空轴位编码 + */ + private String empty_point_code; + + /** + * 满轴位状态 + */ + private String full_point_status; + + /** + * 空轴位状态 + */ + private String empty_point_status; +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/CoolPointIvtMapper.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/CoolPointIvtMapper.java new file mode 100644 index 0000000..c7f1907 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/CoolPointIvtMapper.java @@ -0,0 +1,18 @@ +package org.nl.wms.pdm.rawfoilworkorder.service.dao.mapper; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.nl.wms.pdm.rawfoilworkorder.service.dao.CoolPointIvt; +import org.nl.wms.pdm.rawfoilworkorder.service.dto.CoolPointIvtDto; + +import java.util.List; + +@Mapper +public interface CoolPointIvtMapper extends BaseMapper { + + List queryCoolPointIvt(@Param("map") JSONObject map); + + List selectCoolIvt(@Param("map") JSONObject map); +} 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 new file mode 100644 index 0000000..fa61f1f --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/CoolPointIvtMapper.xml @@ -0,0 +1,75 @@ + + + + + + + + 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 new file mode 100644 index 0000000..5a93717 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/RawfoilWorkOrderMapper.java @@ -0,0 +1,22 @@ +package org.nl.wms.pdm.rawfoilworkorder.service.dao.mapper; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.nl.wms.pdm.rawfoilworkorder.service.dao.RawfoilWorkOrder; +import org.nl.wms.pdm.rawfoilworkorder.service.dto.RawfoilWorkOrderDto; + +import java.util.List; + +@Mapper +public interface RawfoilWorkOrderMapper extends BaseMapper { + IPage queryAllPage(@Param("rawfoilWorkOrderDto")RawfoilWorkOrderDto rawfoilWorkOrderDto , @Param("page") IPage page); + + List queryRawFoil(@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 new file mode 100644 index 0000000..a50101a --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/RawfoilWorkOrderMapper.xml @@ -0,0 +1,91 @@ + + + + + + + + + diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/SbPointIvtMapper.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/SbPointIvtMapper.java new file mode 100644 index 0000000..a664f70 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/SbPointIvtMapper.java @@ -0,0 +1,20 @@ +package org.nl.wms.pdm.rawfoilworkorder.service.dao.mapper; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.nl.wms.pdm.rawfoilworkorder.service.dao.SbPointIvt; + +@Mapper +public interface SbPointIvtMapper extends BaseMapper { + + String QUERY_SBPOINTIVT_SQL = "SELECT * FROM sb_point_ivt WHERE 1=1"; + String WRAPPER_SBPOINTIVT_SQL=QUERY_SBPOINTIVT_SQL + " ${ew.customSqlSegment}"; + + @Select(WRAPPER_SBPOINTIVT_SQL) +

> P queryPage(P page, @Param("ew") Wrapper wrapper); +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/SbPointIvtMapper.xml b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/SbPointIvtMapper.xml new file mode 100644 index 0000000..f6820f6 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dao/mapper/SbPointIvtMapper.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dto/CoolPointIvtDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dto/CoolPointIvtDto.java new file mode 100644 index 0000000..36db66f --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dto/CoolPointIvtDto.java @@ -0,0 +1,160 @@ +package org.nl.wms.pdm.rawfoilworkorder.service.dto; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; +import org.nl.wms.pdm.rawfoilworkorder.service.dao.CoolPointIvt; + +import java.io.Serializable; +import java.math.BigDecimal; + +@Data +public class CoolPointIvtDto extends CoolPointIvt implements Serializable { + /** 库存记录标识 */ + /** + * 防止精度丢失 + */ + @JsonSerialize(using = ToStringSerializer.class) + private Long ivt_id; + + /** + * 点位编码 + */ + private String point_code; + + /** + * 满轴位编码 + */ + private String full_point_code; + + /** + * 母卷号 + */ + private String container_name; + + /** + * 母卷工单标识 + */ + private String workorder_id; + + /** + * 母卷轴编码 + */ + private String full_vehicle_code; + + /** + * 空轴位编码 + */ + private String empty_point_code; + + /** + * 空轴编码 + */ + private String empty_vehicle_code; + + /** + * 下料区域标识 + */ + private Long region_id; + + /** + * 批次 + */ + private String pcsn; + + /** + * 库存数 + */ + private BigDecimal ivt_qty; + + /** + * 计量单位标识 + */ + private Long qty_unit_id; + + /** + * 入库时间 + */ + private String instorage_time; + + /** + * 生产区域 + */ + private String product_area; + + /** + * 位置 + */ + private String point_location; + + /** + * 顺序号 + */ + private BigDecimal sort_seq; + + /** + * 是否启用 + */ + private String is_used; + + /** + * 备注 + */ + private String remark; + + /** + * 创建人 + */ + private String create_id; + + /** + * 创建人姓名 + */ + private String create_name; + + /** + * 创建时间 + */ + private String create_time; + + /** + * 修改人 + */ + private String update_optid; + + /** + * 修改人姓名 + */ + private String update_optname; + + /** + * 修改时间 + */ + private String update_time; + + /** + * 满轴位状态 + */ + private String full_point_status; + + /** + * 库存状态 + **/ + private String cool_ivt_status; + + /** + * 空轴位状态 + */ + private String empty_point_status; + + /** + * 母卷来源 + * 1-生箔下卷;2-烘箱;3-分切 + */ + private String origin; + /** + * 母卷状态 + * 0-未烘烤;1-已烘烤 + */ + private String roll_status; +} 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 new file mode 100644 index 0000000..59eaf7a --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dto/RawfoilWorkOrderDto.java @@ -0,0 +1,32 @@ +package org.nl.wms.pdm.rawfoilworkorder.service.dto; + +import lombok.Data; +import org.nl.wms.pdm.rawfoilworkorder.service.dao.RawfoilWorkOrder; + +import java.util.List; + +/** + * @author dsh + */ +@Data +public class RawfoilWorkOrderDto extends RawfoilWorkOrder { + /** + * 点位编码 + */ + private String point_code2; + + /** + * 开始时间 + */ + private String begin_time; + + /** + * 结束时间 + */ + private String end_time; + + /** + * 人员对应的区域 + */ + private List in_area_id; +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dto/SbPointIvtDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dto/SbPointIvtDto.java new file mode 100644 index 0000000..defaa38 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/dto/SbPointIvtDto.java @@ -0,0 +1,85 @@ +package org.nl.wms.pdm.rawfoilworkorder.service.dto; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; +import org.nl.wms.pdm.rawfoilworkorder.service.dao.SbPointIvt; + +@Data +public class SbPointIvtDto extends SbPointIvt { + + /** + * 点位编码 + */ + private String point_code; + + /** + * 点位状态 + */ + private String point_status; + + /** + * 载具编码 + */ + private String vehicle_code; + + /** + * 生产区域 + */ + private String product_area; + + /** + * 位置 + */ + private String point_location; + + /** + * 外部编码 + */ + private String ext_code; + + /** + * 备注 + */ + private String remark; + + /** + * 是否启用 + */ + private String is_used; + + /** + * 是否启用 + */ + private String mes_used; + + /** + * 创建人 + */ + private String create_id; + + /** + * 创建人 + */ + private String create_name; + + /** + * 创建时间 + */ + private String create_time; + + /** + * 修改人 + */ + private String update_optid; + + /** + * 修改人 + */ + private String update_optname; + + /** + * 修改时间 + */ + private String update_time; +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/impl/CoolPointIvtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/impl/CoolPointIvtServiceImpl.java new file mode 100644 index 0000000..49b9faf --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/impl/CoolPointIvtServiceImpl.java @@ -0,0 +1,150 @@ +package org.nl.wms.pdm.rawfoilworkorder.service.impl; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +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.sch.point.dao.StIvtCoolregionio; +import org.nl.b_lms.sch.point.dao.mapper.StIvtCoolregionioMapper; +import org.nl.common.utils.SecurityUtils; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.system.service.param.impl.SysParamServiceImpl; +import org.nl.wms.basedata.st.service.impl.UserAreaServiceImpl; +import org.nl.wms.ext.mes.service.LmsToMesService; +import org.nl.wms.pdm.rawfoilworkorder.service.CoolPointIvtService; +import org.nl.wms.pdm.rawfoilworkorder.service.dao.CoolPointIvt; +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.dto.CoolPointIvtDto; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +@Service +@RequiredArgsConstructor +@Slf4j +public class CoolPointIvtServiceImpl extends ServiceImpl implements CoolPointIvtService { + + @Autowired + CoolPointIvtMapper coolPointIvtMapper; + @Resource + private StIvtCoolregionioMapper stIvtCoolregionioMapper; + + @Override + public Map queryAll(Map whereJson, Pageable page) { + //获取人员对应的区域 +// UserAreaServiceImpl userAreaService = new UserAreaServiceImpl(); +// String in_area_id = userAreaService.getInArea(); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.like(ObjectUtil.isNotEmpty(whereJson.get("point_code")), CoolPointIvt::getPoint_code, whereJson.get("point_code")); + wrapper.like(ObjectUtil.isNotEmpty(whereJson.get("container_name")), CoolPointIvt::getContainer_name, whereJson.get("container_name")); + wrapper.eq(ObjectUtil.isNotEmpty(whereJson.get("cool_ivt_status")), CoolPointIvt::getCool_ivt_status, whereJson.get("cool_ivt_status")); + wrapper.eq(ObjectUtil.isNotEmpty(whereJson.get("empty_point_status")), CoolPointIvt::getEmpty_point_status, whereJson.get("empty_point_status")); + wrapper.eq(ObjectUtil.isNotEmpty(whereJson.get("full_point_status")), CoolPointIvt::getFull_point_status, whereJson.get("full_point_status")); + wrapper.eq(ObjectUtil.isNotEmpty(whereJson.get("point_location")), CoolPointIvt::getPoint_location, whereJson.get("point_location")); + wrapper.eq(ObjectUtil.isNotEmpty(whereJson.get("is_used")), CoolPointIvt::getIs_used, whereJson.get("is_used")); +// wrapper.eq(ObjectUtil.isNotEmpty(whereJson.get("in_area_id")), CoolPointIvt::getProduct_area, whereJson.get("in_area_id")); + wrapper.ge(ObjectUtil.isNotEmpty(whereJson.get("begin_time")), CoolPointIvt::getInstorage_time, whereJson.get("begin_time")); + wrapper.le(ObjectUtil.isNotEmpty(whereJson.get("end_time")), CoolPointIvt::getInstorage_time, whereJson.get("end_time")); + IPage pages = new Page<>(page.getOffset() + 1, page.getPageSize()); + IPage coolPointIvtList = coolPointIvtMapper.selectPage(pages, wrapper); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("totalElements", coolPointIvtList.getTotal()); + jsonObject.put("content", coolPointIvtList.getRecords()); + return jsonObject; + } + + @Override + public void create(CoolPointIvt dto) { + String currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + dto.setIvt_id(IdUtil.getSnowflake(1, 1).nextId()); + dto.setCreate_id(currentUserId); + dto.setCreate_name(nickName); + dto.setUpdate_optid(currentUserId); + dto.setUpdate_optname(nickName); + dto.setUpdate_time(now); + dto.setCreate_time(now); + coolPointIvtMapper.insert(dto); + } + + @Override + public void update(CoolPointIvt dto) { + CoolPointIvt ivt = this.getById(dto.getIvt_id()); + if (ivt == null) { + throw new BadRequestException("被删除或无权限,操作失败!"); + } + String container_name = dto.getContainer_name(); + String currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + dto.setUpdate_time(now); + dto.setUpdate_optid(currentUserId); + dto.setUpdate_optname(nickName); + coolPointIvtMapper.updateById(dto); + } + + @Override + public void deleteAll(Long[] ids) { + List list = coolPointIvtMapper.selectBatchIds(Arrays.asList(ids)); + for (CoolPointIvt hotPointIvt : list) { + coolPointIvtMapper.deleteById(hotPointIvt); + } + } + + @Override + public Map coolRegionIOQueryAll(Map whereJson, Pageable page) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.like(ObjectUtil.isNotEmpty(whereJson.get("start_point_code")), StIvtCoolregionio::getStart_point_code, whereJson.get("start_point_code")); + wrapper.like(ObjectUtil.isNotEmpty(whereJson.get("end_point_code")), StIvtCoolregionio::getEnd_point_code, whereJson.get("end_point_code")); + wrapper.like(ObjectUtil.isNotEmpty(whereJson.get("container_name")), StIvtCoolregionio::getPcsn, whereJson.get("container_name")); + wrapper.like(ObjectUtil.isNotEmpty(whereJson.get("vehicle_code")), StIvtCoolregionio::getVehicle_code, whereJson.get("vehicle_code")); + wrapper.ge(ObjectUtil.isNotEmpty(whereJson.get("begin_time")), StIvtCoolregionio::getCreate_time, whereJson.get("begin_time")); + wrapper.le(ObjectUtil.isNotEmpty(whereJson.get("end_time")), StIvtCoolregionio::getCreate_time, whereJson.get("end_time")); + IPage pages = new Page<>(page.getOffset() + 1, page.getPageSize()); + IPage coolPointIvtList = stIvtCoolregionioMapper.selectPage(pages, wrapper); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("totalElements", coolPointIvtList.getTotal()); + jsonObject.put("content", coolPointIvtList.getRecords()); + return jsonObject; + } + + @Override + public void uploadMes(JSONObject form) { + //调用回传MES的半成品入库接口 + // 将入冷却信息发送给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(); + String container_name = form.getString("container_name"); + if (StrUtil.isEmpty(container_name)) { + throw new BadRequestException("母卷号不能为空!"); + } + param.put("iContainerName", container_name); + 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"))) { + SpringContextHolder.getBean(LmsToMesService.class).momRollSemiFGInboundComplete(param); + } + } +} 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 new file mode 100644 index 0000000..214503c --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/impl/RawfoilWorkOrderServiceImpl.java @@ -0,0 +1,253 @@ +package org.nl.wms.pdm.rawfoilworkorder.service.impl; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.map.MapUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +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.sch.point.dao.StIvtSbpointivt; +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.mapper.SchBaseTaskMapper; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.utils.SecurityUtils; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.modules.wql.core.bean.WQLObject; +//import org.nl.wms.basedata.master.materialbase.service.dao.Materialbase; +//import org.nl.wms.basedata.master.materialbase.service.dao.mapper.MaterialbaseMapper; +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.pdm.rawfoilworkorder.service.RawfoilWorkOrderService; +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.dto.RawfoilWorkOrderDto; +import org.nl.wms.sch.manage.TaskStatusEnum; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; + +/** + * @author dsh + **/ +@Service +@RequiredArgsConstructor +@Slf4j +public class RawfoilWorkOrderServiceImpl extends ServiceImpl implements RawfoilWorkOrderService { +// @Autowired +// IUserAreaPermissionService userAreaPermissionService; + + @Autowired + RawfoilWorkOrderMapper rawfoilWorkOrderMapper; + + @Autowired + StIvtSbpointivtMapper stIvtSbpointivtMapper; + +// @Autowired +// MaterialbaseMapper materialbaseMapper; + + @Autowired + SchBaseTaskMapper schBaseTaskMapper; + + @Override + public Map queryAll(Map whereJson, PageQuery page) { + RawfoilWorkOrderDto rawfoilWorkOrderDto = new RawfoilWorkOrderDto(); + rawfoilWorkOrderDto.setProduct_area(MapUtil.getStr(whereJson, "product_area")); + rawfoilWorkOrderDto.setResource_name(MapUtil.getStr(whereJson, "resource_name")); + rawfoilWorkOrderDto.setStatus(MapUtil.getStr(whereJson,"status")); + rawfoilWorkOrderDto.setContainer_name(MapUtil.getStr(whereJson,"container_name")); + rawfoilWorkOrderDto.setBegin_time(MapUtil.getStr(whereJson,"begin_time")); + rawfoilWorkOrderDto.setEnd_time(MapUtil.getStr(whereJson,"end_time")); + //获取人员对应的区域 +// List in_area_id = userAreaPermissionService.getCurrentUserAreas(SecurityUtils.getCurrentUserId()); + //获取人员对应的区域 +// UserAreaServiceImpl userAreaService = new UserAreaServiceImpl(); +// String in_area_id = userAreaService.getInArea(); +// if (ObjectUtil.isNotEmpty(in_area_id)) { +// rawfoilWorkOrderDto.setProduct_area(in_area_id); +// } + IPage pages = new Page<>(page.getPage() + 1, page.getSize()); + IPage rawfoilWorkOrderList = rawfoilWorkOrderMapper.queryAllPage(rawfoilWorkOrderDto,pages); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("totalElements", rawfoilWorkOrderList.getTotal()); + jsonObject.put("content", rawfoilWorkOrderList.getRecords()); + return jsonObject; + } + + @Override + public List queryAll(Map whereJson) { + return rawfoilWorkOrderMapper.selectList(new QueryWrapper()); + } + + @Override + public RawfoilWorkOrder findById(Long workorder_id) { + return rawfoilWorkOrderMapper.selectById(workorder_id); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(RawfoilWorkOrder dto) { + String container_name = dto.getContainer_name(); + RawfoilWorkOrder rawfoilWorkOrder = rawfoilWorkOrderMapper.selectOne(new LambdaQueryWrapper<>(RawfoilWorkOrder.class) + .eq(RawfoilWorkOrder::getContainer_name,container_name) + .ne(RawfoilWorkOrder::getStatus,"40")); + WQLObject materTab = WQLObject.getWQLObject("md_me_materialbase"); + + if (ObjectUtil.isNotEmpty(rawfoilWorkOrder)) { + throw new BadRequestException("母卷号已存在"); + } + + String currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + + 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("物料不存在"); +// } + JSONObject josnMater = materTab.query("material_code ='" + dto.getProduct_name() + "' and is_delete = '0' and is_used = '1'").uniqueResult(0); + if (ObjectUtil.isEmpty(josnMater)) { + throw new BadRequestException("物料不存在"); + } + + + dto.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextId()); + dto.setCreate_id(currentUserId); + dto.setCreate_name(nickName); + dto.setUpdate_optid(currentUserId); + dto.setUpdate_optname(nickName); + dto.setUpdate_time(now); + dto.setCreate_time(now); + dto.setIs_delete("0"); + dto.setProduct_area(stIvtSbpointivt.getProduct_area()); + dto.setPoint_code(stIvtSbpointivt.getPoint_code()); + dto.setStatus("00"); + + rawfoilWorkOrderMapper.insert(dto); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(RawfoilWorkOrder dto) { + RawfoilWorkOrder entity = this.findById(dto.getWorkorder_id()); + if (entity == null) { + throw new BadRequestException("被删除或无权限,操作失败!"); + } + + WQLObject materTab = WQLObject.getWQLObject("md_me_materialbase"); + String container_name = dto.getContainer_name(); + String currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + + int count = rawfoilWorkOrderMapper.selectCount(new LambdaQueryWrapper<>(RawfoilWorkOrder.class) + .eq(RawfoilWorkOrder::getContainer_name,container_name) + .ne(RawfoilWorkOrder::getStatus,"40")); + if (count > 1) { + 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("物料不存在"); +// } + JSONObject josnMater = materTab.query("material_code ='" + dto.getProduct_name() + "' and is_delete = '0' and is_used = '1'").uniqueResult(0); + if (ObjectUtil.isEmpty(josnMater)) { + throw new BadRequestException("物料不存在"); + } + + dto.setUpdate_time(now); + dto.setUpdate_optid(currentUserId); + dto.setUpdate_optname(nickName); + dto.setProduct_area(stIvtSbpointivt.getProduct_area()); + dto.setPoint_code(stIvtSbpointivt.getPoint_code()); + + rawfoilWorkOrderMapper.updateById(dto); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteAll(Long[] ids) { + String currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + + for (Long workorder_id : ids) { + RawfoilWorkOrder rawfoilWorkOrder = new RawfoilWorkOrder(); + rawfoilWorkOrder.setWorkorder_id(workorder_id); + rawfoilWorkOrder.setIs_delete("1"); + rawfoilWorkOrder.setUpdate_optid(currentUserId); + rawfoilWorkOrder.setUpdate_optname(nickName); + rawfoilWorkOrder.setUpdate_time(now); + + rawfoilWorkOrderMapper.updateById(rawfoilWorkOrder); + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void compelEnd(JSONObject whereJson) { + String currentUserId = SecurityUtils.getCurrentUserId(); + String currentUsername = SecurityUtils.getCurrentUsername(); + + //查询该生箔工单是否存在未完成的任务 + String container_name = whereJson.getString("container_name"); + + SchBaseTask schBaseTask = schBaseTaskMapper.selectOne(new LambdaQueryWrapper<>(SchBaseTask.class) + .eq(SchBaseTask::getMaterial_code,container_name) + .lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()) + .eq(SchBaseTask::getIs_delete,"0")); + if (ObjectUtil.isNotEmpty(schBaseTask)) { + throw new BadRequestException("该生箔工单存在未完成的任务,请先完成任务!"); + } + + RawfoilWorkOrder rawfoilWorkOrder = new RawfoilWorkOrder(); + rawfoilWorkOrder.setWorkorder_id(whereJson.getLong("workorder_id")); + rawfoilWorkOrder.setStatus("40"); + rawfoilWorkOrder.setFinish_type("02"); + rawfoilWorkOrder.setRealend_time(DateUtil.now()); + rawfoilWorkOrder.setUpdate_optid(currentUserId); + rawfoilWorkOrder.setUpdate_optname(currentUsername); + rawfoilWorkOrder.setUpdate_time(DateUtil.now()); + rawfoilWorkOrderMapper.updateById(rawfoilWorkOrder); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void confirm(JSONObject whereJson) { + RawfoilWorkOrder rawfoilWorkOrder = new RawfoilWorkOrder(); + rawfoilWorkOrder.setWorkorder_id(whereJson.getLong("workorder_id")); + rawfoilWorkOrder.setProductin_qty(ObjectUtil.isEmpty(whereJson.getString("productin_qty")) ? BigDecimal.valueOf(0) : whereJson.getBigDecimal("productin_qty")); + rawfoilWorkOrderMapper.updateById(rawfoilWorkOrder); + } + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/impl/SbPointIvtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/impl/SbPointIvtServiceImpl.java new file mode 100644 index 0000000..019eea0 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rawfoilworkorder/service/impl/SbPointIvtServiceImpl.java @@ -0,0 +1,110 @@ +package org.nl.wms.pdm.rawfoilworkorder.service.impl; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +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.common.domain.query.PageQuery; +import org.nl.common.utils.SecurityUtils; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.modules.common.utils.PageUtil; +import org.nl.wms.basedata.st.service.impl.UserAreaServiceImpl; +import org.nl.wms.pdm.rawfoilworkorder.service.SbPointIvtService; +import org.nl.wms.pdm.rawfoilworkorder.service.dao.SbPointIvt; +import org.nl.wms.pdm.rawfoilworkorder.service.dao.mapper.SbPointIvtMapper; +import org.nl.wms.pdm.rawfoilworkorder.service.dto.SbPointIvtDto; +import org.nl.wms.util.ConvertUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +@Service +@RequiredArgsConstructor +@Slf4j +public class SbPointIvtServiceImpl extends ServiceImpl implements SbPointIvtService { + + @Autowired + SbPointIvtMapper sbPointIvtMapper; + + @Override + public Map queryAll(Map whereJson, Pageable page) { + //获取人员对应的区域 +// UserAreaServiceImpl userAreaService = new UserAreaServiceImpl(); +// String in_area_id = userAreaService.getInArea(); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.like(ObjectUtil.isNotEmpty(whereJson.get("point_code")), SbPointIvt::getPoint_code, whereJson.get("point_code")); + wrapper.eq(ObjectUtil.isNotEmpty(whereJson.get("product_area")), SbPointIvt::getProduct_area, whereJson.get("product_area")); + wrapper.eq(ObjectUtil.isNotEmpty(whereJson.get("is_used")), SbPointIvt::getIs_used, whereJson.get("is_used")); +// wrapper.in(ObjectUtil.isNotEmpty(in_area_id), SbPointIvt::getProduct_area, in_area_id); + IPage pages = new Page<>(page.getOffset() + 1, page.getPageSize()); + IPage sbPointIvtList = sbPointIvtMapper.selectPage(pages, wrapper); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("totalElements", sbPointIvtList.getTotal()); + jsonObject.put("content", sbPointIvtList.getRecords()); + return jsonObject; + } + + @Override + public void create(SbPointIvt dto) { + String currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + + dto.setPoint_id(IdUtil.getSnowflake(1, 1).nextId()); + dto.setCreate_id(currentUserId); + dto.setCreate_name(nickName); + dto.setUpdate_optid(currentUserId); + dto.setUpdate_optname(nickName); + dto.setUpdate_time(now); + dto.setCreate_time(now); + sbPointIvtMapper.insert(dto); + } + + @Override + public void update(SbPointIvt dto) { + SbPointIvt entity = this.getById(dto.getPoint_id()); + if (entity == null) { + throw new BadRequestException("被删除或无权限,操作失败!"); + } + + String currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + + String now = DateUtil.now(); + dto.setUpdate_time(now); + dto.setUpdate_optid(currentUserId); + dto.setUpdate_optname(nickName); + + sbPointIvtMapper.updateById(dto); + } + + @Override + public void deleteAll(Long[] ids) { + List list = sbPointIvtMapper.selectBatchIds(Arrays.asList(ids)); + for (SbPointIvt hotPointIvt : list) { + sbPointIvtMapper.deleteById(hotPointIvt); + } + } + + @Override + public List queryResources() { + List resources = new ArrayList<>(); + List sbPointIvts = sbPointIvtMapper.selectList(new LambdaQueryWrapper()); + for (int i = 0; i < sbPointIvts.size(); i++) { + resources.add(sbPointIvts.get(i).getExt_code()); + } + return resources; + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rest/RawfoilworkorderController.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rest/RawfoilworkorderController.java index 257c1c1..bfb560a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rest/RawfoilworkorderController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rest/RawfoilworkorderController.java @@ -1,81 +1,81 @@ -package org.nl.wms.pdm.rest; - - -import com.alibaba.fastjson.JSONObject; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.modules.logging.annotation.Log; -import org.nl.wms.pdm.service.RawfoilworkorderService; -import org.nl.wms.pdm.service.dto.RawfoilworkorderDto; -import org.springframework.data.domain.Pageable; -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.Map; - -/** - * @author liuxy - * @date 2022-10-08 - **/ -@RestController -@RequiredArgsConstructor - -@RequestMapping("/api/rawfoilworkorder") -@Slf4j -public class RawfoilworkorderController { - - private final RawfoilworkorderService rawfoilworkorderService; - - @GetMapping - @Log("查询生箔工序工单") - - //@SaCheckPermission("@el.check('rawfoilworkorder:list')") - public ResponseEntity query(@RequestParam Map whereJson, Pageable page) { - return new ResponseEntity<>(rawfoilworkorderService.queryAll(whereJson, page), HttpStatus.OK); - } - - @PostMapping - @Log("新增生箔工序工单") - - //@SaCheckPermission("@el.check('rawfoilworkorder:add')") - public ResponseEntity create(@Validated @RequestBody RawfoilworkorderDto dto) { - rawfoilworkorderService.create(dto); - return new ResponseEntity<>(HttpStatus.CREATED); - } - - @PutMapping - @Log("修改生箔工序工单") - - //@SaCheckPermission("@el.check('rawfoilworkorder:edit')") - public ResponseEntity update(@Validated @RequestBody RawfoilworkorderDto dto) { - rawfoilworkorderService.update(dto); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @Log("删除生箔工序工单") - - //@SaCheckPermission("@el.check('rawfoilworkorder:del')") - @DeleteMapping - public ResponseEntity delete(@RequestBody Long[] ids) { - rawfoilworkorderService.deleteAll(ids); - return new ResponseEntity<>(HttpStatus.OK); - } - - @Log("强制确认") - - @PostMapping("/compelEnd") - public ResponseEntity compelEnd(@RequestBody JSONObject whereJson) { - rawfoilworkorderService.compelEnd(whereJson); - return new ResponseEntity<>(HttpStatus.OK); - } - - @Log("称重") - - @PostMapping("/confirm") - public ResponseEntity confirm(@RequestBody JSONObject whereJson) { - rawfoilworkorderService.confirm(whereJson); - return new ResponseEntity<>(HttpStatus.OK); - } -} +//package org.nl.wms.pdm.rest; +// +// +//import com.alibaba.fastjson.JSONObject; +//import lombok.RequiredArgsConstructor; +//import lombok.extern.slf4j.Slf4j; +//import org.nl.modules.logging.annotation.Log; +//import org.nl.wms.pdm.service.RawfoilworkorderService; +//import org.nl.wms.pdm.service.dto.RawfoilworkorderDto; +//import org.springframework.data.domain.Pageable; +//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.Map; +// +///** +// * @author liuxy +// * @date 2022-10-08 +// **/ +//@RestController +//@RequiredArgsConstructor +// +//@RequestMapping("/api/rawfoilworkorder") +//@Slf4j +//public class RawfoilworkorderController { +// +// private final RawfoilworkorderService rawfoilworkorderService; +// +// @GetMapping +// @Log("查询生箔工序工单") +// +// //@SaCheckPermission("@el.check('rawfoilworkorder:list')") +// public ResponseEntity query(@RequestParam Map whereJson, Pageable page) { +// return new ResponseEntity<>(rawfoilworkorderService.queryAll(whereJson, page), HttpStatus.OK); +// } +// +// @PostMapping +// @Log("新增生箔工序工单") +// +// //@SaCheckPermission("@el.check('rawfoilworkorder:add')") +// public ResponseEntity create(@Validated @RequestBody RawfoilworkorderDto dto) { +// rawfoilworkorderService.create(dto); +// return new ResponseEntity<>(HttpStatus.CREATED); +// } +// +// @PutMapping +// @Log("修改生箔工序工单") +// +// //@SaCheckPermission("@el.check('rawfoilworkorder:edit')") +// public ResponseEntity update(@Validated @RequestBody RawfoilworkorderDto dto) { +// rawfoilworkorderService.update(dto); +// return new ResponseEntity<>(HttpStatus.NO_CONTENT); +// } +// +// @Log("删除生箔工序工单") +// +// //@SaCheckPermission("@el.check('rawfoilworkorder:del')") +// @DeleteMapping +// public ResponseEntity delete(@RequestBody Long[] ids) { +// rawfoilworkorderService.deleteAll(ids); +// return new ResponseEntity<>(HttpStatus.OK); +// } +// +// @Log("强制确认") +// +// @PostMapping("/compelEnd") +// public ResponseEntity compelEnd(@RequestBody JSONObject whereJson) { +// rawfoilworkorderService.compelEnd(whereJson); +// return new ResponseEntity<>(HttpStatus.OK); +// } +// +// @Log("称重") +// +// @PostMapping("/confirm") +// public ResponseEntity confirm(@RequestBody JSONObject whereJson) { +// rawfoilworkorderService.confirm(whereJson); +// return new ResponseEntity<>(HttpStatus.OK); +// } +//} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rest/SlittingproductionplanController.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rest/SlittingproductionplanController.java index d362729..a8e36e8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rest/SlittingproductionplanController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/rest/SlittingproductionplanController.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproductionplanService; +import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan; import org.nl.modules.logging.annotation.Log; import org.nl.wms.pdm.service.SlittingproductionplanService; import org.nl.wms.pdm.service.dto.SlittingproductionplanDto; @@ -43,7 +44,7 @@ public class SlittingproductionplanController { @Log("新增分切计划") //@SaCheckPermission("@el.check('slittingproductionplan:add')") - public ResponseEntity create(@Validated @RequestBody SlittingproductionplanDto dto) { + public ResponseEntity create(@Validated @RequestBody PdmBiSlittingproductionplan dto) { slittingproductionplanService.create(dto); return new ResponseEntity<>(HttpStatus.CREATED); } @@ -52,7 +53,7 @@ public class SlittingproductionplanController { @Log("修改分切计划") //@SaCheckPermission("@el.check('slittingproductionplan:edit')") - public ResponseEntity update(@Validated @RequestBody SlittingproductionplanDto dto) { + public ResponseEntity update(@Validated @RequestBody PdmBiSlittingproductionplan dto) { slittingproductionplanService.update(dto); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/RawfoilworkorderService.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/RawfoilworkorderService.java index e9fe07a..f030393 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/RawfoilworkorderService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/RawfoilworkorderService.java @@ -1,85 +1,85 @@ -package org.nl.wms.pdm.service; - -import com.alibaba.fastjson.JSONObject; -import org.nl.wms.pdm.service.dto.RawfoilworkorderDto; -import org.springframework.data.domain.Pageable; - -import java.util.List; -import java.util.Map; - -/** - * @author liuxy - * @description 服务接口 - * @date 2022-10-08 - **/ -public interface RawfoilworkorderService { - - /** - * 查询数据分页 - * - * @param whereJson 条件 - * @param page 分页参数 - * @return Map - */ - Map queryAll(Map whereJson, Pageable page); - - /** - * 查询所有数据不分页 - * - * @param whereJson 条件参数 - * @return List - */ - List queryAll(Map whereJson); - - /** - * 根据ID查询 - * - * @param workorder_id ID - * @return Rawfoilworkorder - */ - RawfoilworkorderDto findById(Long workorder_id); - - /** - * 根据编码查询 - * - * @param code code - * @return Rawfoilworkorder - */ - RawfoilworkorderDto findByCode(String code); - - - /** - * 创建 - * - * @param dto / - */ - void create(RawfoilworkorderDto dto); - - /** - * 编辑 - * - * @param dto / - */ - void update(RawfoilworkorderDto dto); - - /** - * 多选删除 - * - * @param ids / - */ - void deleteAll(Long[] ids); - - /** - * 强制确认 - * - * @param whereJson / - */ - void compelEnd(JSONObject whereJson); - - /** - * 称重 - * - * @param whereJson / - */ - void confirm(JSONObject whereJson); -} +//package org.nl.wms.pdm.service; +// +//import com.alibaba.fastjson.JSONObject; +//import org.nl.wms.pdm.service.dto.RawfoilworkorderDto; +//import org.springframework.data.domain.Pageable; +// +//import java.util.List; +//import java.util.Map; +// +///** +// * @author liuxy +// * @description 服务接口 +// * @date 2022-10-08 +// **/ +//public interface RawfoilworkorderService { +// +// /** +// * 查询数据分页 +// * +// * @param whereJson 条件 +// * @param page 分页参数 +// * @return Map +// */ +// Map queryAll(Map whereJson, Pageable page); +// +// /** +// * 查询所有数据不分页 +// * +// * @param whereJson 条件参数 +// * @return List +// */ +// List queryAll(Map whereJson); +// +// /** +// * 根据ID查询 +// * +// * @param workorder_id ID +// * @return Rawfoilworkorder +// */ +// RawfoilworkorderDto findById(Long workorder_id); +// +// /** +// * 根据编码查询 +// * +// * @param code code +// * @return Rawfoilworkorder +// */ +// RawfoilworkorderDto findByCode(String code); +// +// +// /** +// * 创建 +// * +// * @param dto / +// */ +// void create(RawfoilworkorderDto dto); +// +// /** +// * 编辑 +// * +// * @param dto / +// */ +// void update(RawfoilworkorderDto dto); +// +// /** +// * 多选删除 +// * +// * @param ids / +// */ +// void deleteAll(Long[] ids); +// +// /** +// * 强制确认 +// * +// * @param whereJson / +// */ +// void compelEnd(JSONObject whereJson); +// +// /** +// * 称重 +// * +// * @param whereJson / +// */ +// void confirm(JSONObject whereJson); +//} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/SlittingproductionplanService.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/SlittingproductionplanService.java index 229c355..a479831 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/SlittingproductionplanService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/SlittingproductionplanService.java @@ -1,6 +1,7 @@ package org.nl.wms.pdm.service; import com.alibaba.fastjson.JSONObject; +import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan; import org.nl.wms.pdm.service.dto.SlittingproductionplanDto; import org.springframework.data.domain.Pageable; @@ -29,7 +30,7 @@ public interface SlittingproductionplanService { * @param whereJson 条件参数 * @return List */ - List queryAll(Map whereJson); + List queryAll(Map whereJson); /** * 根据ID查询 @@ -37,7 +38,7 @@ public interface SlittingproductionplanService { * @param workorder_id ID * @return Slittingproductionplan */ - SlittingproductionplanDto findById(Long workorder_id); + PdmBiSlittingproductionplan findById(Long workorder_id); /** * 根据编码查询 @@ -45,7 +46,7 @@ public interface SlittingproductionplanService { * @param code code * @return Slittingproductionplan */ - SlittingproductionplanDto findByCode(String code); + PdmBiSlittingproductionplan findByCode(String code); /** @@ -53,14 +54,14 @@ public interface SlittingproductionplanService { * * @param dto / */ - void create(SlittingproductionplanDto dto); + void create(PdmBiSlittingproductionplan dto); /** * 编辑 * * @param dto / */ - void update(SlittingproductionplanDto dto); + void update(PdmBiSlittingproductionplan dto); /** * 多选删除 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/SlittingproductionplanDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/SlittingproductionplanDto.java index fbb61a5..0b3c93b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/SlittingproductionplanDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/SlittingproductionplanDto.java @@ -170,4 +170,10 @@ public class SlittingproductionplanDto implements Serializable { /** 分切重量 */ private String paper_weight; + /** 木箱物料编码 */ + private String box_code; + /** 木箱描述 */ + private String box_description; + /** 批次号 */ + private String pscn; } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/RawfoilworkorderServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/RawfoilworkorderServiceImpl.java index 668db55..1e47128 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/RawfoilworkorderServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/RawfoilworkorderServiceImpl.java @@ -1,250 +1,250 @@ -package org.nl.wms.pdm.service.impl; - - -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.map.MapUtil; -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.ObjectUtil; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.common.utils.SecurityUtils; -import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.wql.WQL; -import org.nl.modules.wql.core.bean.WQLObject; -import org.nl.modules.wql.util.WqlUtil; -import org.nl.wms.basedata.st.service.impl.UserAreaServiceImpl; -import org.nl.wms.pdm.service.RawfoilworkorderService; -import org.nl.wms.pdm.service.dto.RawfoilworkorderDto; -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.Map; - -/** - * @author liuxy - * @description 服务实现 - * @date 2022-10-08 - **/ -@Service -@RequiredArgsConstructor -@Slf4j -public class RawfoilworkorderServiceImpl implements RawfoilworkorderService { - - @Override - public Map queryAll(Map whereJson, Pageable page) { - String product_area = MapUtil.getStr(whereJson, "product_area"); - String resource_name = MapUtil.getStr(whereJson, "resource_name"); - String status = MapUtil.getStr(whereJson, "status"); - String container_name = MapUtil.getStr(whereJson, "container_name"); - String begin_time = MapUtil.getStr(whereJson, "begin_time"); - String end_time = MapUtil.getStr(whereJson, "end_time"); - - //获取人员对应的区域 - UserAreaServiceImpl userAreaService = new UserAreaServiceImpl(); - String in_area_id = userAreaService.getInArea(); - - JSONObject map = new JSONObject(); - map.put("flag", "1"); - if (ObjectUtil.isNotEmpty(resource_name)) { - map.put("resource_name", "%" + resource_name + "%"); - } - if (ObjectUtil.isNotEmpty(container_name)) { - map.put("container_name", "%" + container_name + "%"); - } - map.put("begin_time", begin_time); - map.put("end_time", end_time); - map.put("product_area", product_area); - map.put("status", status); - if (ObjectUtil.isNotEmpty(in_area_id)) { - map.put("in_area_id", in_area_id); - } - - JSONObject json = WQL.getWO("PDM_BI_RAWFOILWORKORDER_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "der.container_name"); - return json; - } - - @Override - public List queryAll(Map whereJson) { - WQLObject wo = WQLObject.getWQLObject("pdm_bi_rawfoilworkorder"); - JSONArray arr = wo.query().getResultJSONArray(0); - if (ObjectUtil.isNotEmpty(arr)) { - return arr.toJavaList(RawfoilworkorderDto.class); - } - return null; - } - - @Override - public RawfoilworkorderDto findById(Long workorder_id) { - WQLObject wo = WQLObject.getWQLObject("pdm_bi_rawfoilworkorder"); - JSONObject json = wo.query("workorder_id = '" + workorder_id + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(json)) { - return json.toJavaObject(RawfoilworkorderDto.class); - } - return null; - } - - @Override - public RawfoilworkorderDto findByCode(String code) { - WQLObject wo = WQLObject.getWQLObject("pdm_bi_rawfoilworkorder"); - JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(json)) { - return json.toJavaObject(RawfoilworkorderDto.class); - } - return null; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void create(RawfoilworkorderDto dto) { - WQLObject schBasePointService = WQLObject.getWQLObject("ST_IVT_SbPointIvt"); - WQLObject wo = WQLObject.getWQLObject("pdm_bi_rawfoilworkorder"); - WQLObject materTab = WQLObject.getWQLObject("md_me_materialbase"); - - String container_name = dto.getContainer_name(); - JSONObject json = wo.query("container_name = '" + container_name + "' and status <> '09'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(json)) { - throw new BadRequestException("母卷号已存在"); - } - - String currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - - JSONObject jsonPoint = schBasePointService.query("ext_code ='" + dto.getResource_name() + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonPoint)) { - throw new BadRequestException("点位设备不存在"); - } - - JSONObject josnMater = materTab.query("material_code ='" + dto.getProduct_name() + "' and is_delete = '0' and is_used = '1'").uniqueResult(0); - if (ObjectUtil.isEmpty(josnMater)) { - throw new BadRequestException("物料不存在"); - } - - - dto.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextId()); - dto.setCreate_id(currentUserId); - dto.setCreate_name(nickName); - dto.setUpdate_optid(currentUserId); - dto.setUpdate_optname(nickName); - dto.setUpdate_time(now); - dto.setCreate_time(now); - dto.setIs_delete("0"); - dto.setProduct_area(jsonPoint.getString("product_area")); - dto.setPoint_code(jsonPoint.getString("point_code")); - dto.setStatus("01"); - - JSONObject json1 = JSONObject.parseObject(JSON.toJSONString(dto)); - wo.insert(json1); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(RawfoilworkorderDto dto) { - RawfoilworkorderDto entity = this.findById(dto.getWorkorder_id()); - if (entity == null) { - throw new BadRequestException("被删除或无权限,操作失败!"); - } - - WQLObject schBasePointService = WQLObject.getWQLObject("ST_IVT_SbPointIvt"); - WQLObject wo = WQLObject.getWQLObject("pdm_bi_rawfoilworkorder"); - WQLObject materTab = WQLObject.getWQLObject("md_me_materialbase"); - - String container_name = dto.getContainer_name(); - - String currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - - JSONObject jsonPoint = schBasePointService.query("ext_code ='" + dto.getResource_name() + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonPoint)) { - throw new BadRequestException("点位设备不存在"); - } - - JSONObject josnMater = materTab.query("material_code ='" + dto.getProduct_name() + "' and is_delete = '0' and is_used = '1'").uniqueResult(0); - if (ObjectUtil.isEmpty(josnMater)) { - throw new BadRequestException("物料不存在"); - } - - - dto.setUpdate_time(now); - dto.setUpdate_optid(currentUserId); - dto.setUpdate_optname(nickName); - dto.setProduct_area(jsonPoint.getString("product_area")); - dto.setPoint_code(jsonPoint.getString("point_code")); - - JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); - wo.update(json); - - JSONArray resultJSONArray = wo.query("container_name = '" + container_name + "' and status <> '09'").getResultJSONArray(0); - if (resultJSONArray.size() > 1) { - throw new BadRequestException("母卷号已存在"); - } - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteAll(Long[] ids) { - String currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - - WQLObject wo = WQLObject.getWQLObject("pdm_bi_rawfoilworkorder"); - for (Long workorder_id : ids) { - JSONObject param = new JSONObject(); - param.put("workorder_id", String.valueOf(workorder_id)); - param.put("is_delete", "1"); - param.put("update_optid", currentUserId); - param.put("update_optname", nickName); - param.put("update_time", now); - wo.update(param); - } - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void compelEnd(JSONObject whereJson) { - String workorder_id = whereJson.getString("workorder_id"); - String currentUserId = SecurityUtils.getCurrentUserId(); - String currentUsername = SecurityUtils.getCurrentUsername(); - - //查询该生箔工单是否存在未完成的任务 - String container_name = whereJson.getString("container_name"); - - JSONObject task_jo = WQLObject.getWQLObject("sch_base_task").query("material_code = '" + container_name + "' AND task_status < '07' AND is_delete = '0'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(task_jo)) { - throw new BadRequestException("该生箔工单存在未完成的任务,请先完成任务!"); - } - - WQLObject tab = WQLObject.getWQLObject("PDM_BI_RawFoilWorkOrder"); - - JSONObject json = tab.query("workorder_id = '" + workorder_id + "'").uniqueResult(0); - json.put("status", "09"); - json.put("finish_type", "02"); - json.put("realend_time", DateUtil.now()); - json.put("update_optid", currentUserId); - json.put("update_optname", currentUsername); - json.put("update_time", DateUtil.now()); - tab.update(json); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void confirm(JSONObject whereJson) { - WQLObject tab = WQLObject.getWQLObject("PDM_BI_RawFoilWorkOrder"); - String productin_qty = whereJson.getString("productin_qty"); - - JSONObject jsonRaw = tab.query("workorder_id = '" + whereJson.getString("workorder_id") + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(productin_qty)) { - jsonRaw.put("productin_qty", 0); - } else { - jsonRaw.put("productin_qty", whereJson.getDoubleValue("productin_qty")); - } - tab.update(jsonRaw); - } - -} +//package org.nl.wms.pdm.service.impl; +// +// +//import cn.hutool.core.date.DateUtil; +//import cn.hutool.core.map.MapUtil; +//import cn.hutool.core.util.IdUtil; +//import cn.hutool.core.util.ObjectUtil; +//import com.alibaba.fastjson.JSON; +//import com.alibaba.fastjson.JSONArray; +//import com.alibaba.fastjson.JSONObject; +//import lombok.RequiredArgsConstructor; +//import lombok.extern.slf4j.Slf4j; +//import org.nl.common.utils.SecurityUtils; +//import org.nl.modules.common.exception.BadRequestException; +//import org.nl.modules.wql.WQL; +//import org.nl.modules.wql.core.bean.WQLObject; +//import org.nl.modules.wql.util.WqlUtil; +//import org.nl.wms.basedata.st.service.impl.UserAreaServiceImpl; +//import org.nl.wms.pdm.service.RawfoilworkorderService; +//import org.nl.wms.pdm.service.dto.RawfoilworkorderDto; +//import org.springframework.data.domain.Pageable; +//import org.springframework.stereotype.Service; +//import org.springframework.transaction.annotation.Transactional; +// +//import java.util.List; +//import java.util.Map; +// +///** +// * @author liuxy +// * @description 服务实现 +// * @date 2022-10-08 +// **/ +//@Service +//@RequiredArgsConstructor +//@Slf4j +//public class RawfoilworkorderServiceImpl implements RawfoilworkorderService { +// +// @Override +// public Map queryAll(Map whereJson, Pageable page) { +// String product_area = MapUtil.getStr(whereJson, "product_area"); +// String resource_name = MapUtil.getStr(whereJson, "resource_name"); +// String status = MapUtil.getStr(whereJson, "status"); +// String container_name = MapUtil.getStr(whereJson, "container_name"); +// String begin_time = MapUtil.getStr(whereJson, "begin_time"); +// String end_time = MapUtil.getStr(whereJson, "end_time"); +// +// //获取人员对应的区域 +// UserAreaServiceImpl userAreaService = new UserAreaServiceImpl(); +// String in_area_id = userAreaService.getInArea(); +// +// JSONObject map = new JSONObject(); +// map.put("flag", "1"); +// if (ObjectUtil.isNotEmpty(resource_name)) { +// map.put("resource_name", "%" + resource_name + "%"); +// } +// if (ObjectUtil.isNotEmpty(container_name)) { +// map.put("container_name", "%" + container_name + "%"); +// } +// map.put("begin_time", begin_time); +// map.put("end_time", end_time); +// map.put("product_area", product_area); +// map.put("status", status); +// if (ObjectUtil.isNotEmpty(in_area_id)) { +// map.put("in_area_id", in_area_id); +// } +// +// JSONObject json = WQL.getWO("PDM_BI_RAWFOILWORKORDER_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "der.container_name"); +// return json; +// } +// +// @Override +// public List queryAll(Map whereJson) { +// WQLObject wo = WQLObject.getWQLObject("pdm_bi_rawfoilworkorder"); +// JSONArray arr = wo.query().getResultJSONArray(0); +// if (ObjectUtil.isNotEmpty(arr)) { +// return arr.toJavaList(RawfoilworkorderDto.class); +// } +// return null; +// } +// +// @Override +// public RawfoilworkorderDto findById(Long workorder_id) { +// WQLObject wo = WQLObject.getWQLObject("pdm_bi_rawfoilworkorder"); +// JSONObject json = wo.query("workorder_id = '" + workorder_id + "'").uniqueResult(0); +// if (ObjectUtil.isNotEmpty(json)) { +// return json.toJavaObject(RawfoilworkorderDto.class); +// } +// return null; +// } +// +// @Override +// public RawfoilworkorderDto findByCode(String code) { +// WQLObject wo = WQLObject.getWQLObject("pdm_bi_rawfoilworkorder"); +// JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0); +// if (ObjectUtil.isNotEmpty(json)) { +// return json.toJavaObject(RawfoilworkorderDto.class); +// } +// return null; +// } +// +// @Override +// @Transactional(rollbackFor = Exception.class) +// public void create(RawfoilworkorderDto dto) { +// WQLObject schBasePointService = WQLObject.getWQLObject("ST_IVT_SbPointIvt"); +// WQLObject wo = WQLObject.getWQLObject("pdm_bi_rawfoilworkorder"); +// WQLObject materTab = WQLObject.getWQLObject("md_me_materialbase"); +// +// String container_name = dto.getContainer_name(); +// JSONObject json = wo.query("container_name = '" + container_name + "' and status <> '09'").uniqueResult(0); +// if (ObjectUtil.isNotEmpty(json)) { +// throw new BadRequestException("母卷号已存在"); +// } +// +// String currentUserId = SecurityUtils.getCurrentUserId(); +// String nickName = SecurityUtils.getCurrentNickName(); +// String now = DateUtil.now(); +// +// JSONObject jsonPoint = schBasePointService.query("ext_code ='" + dto.getResource_name() + "'").uniqueResult(0); +// if (ObjectUtil.isEmpty(jsonPoint)) { +// throw new BadRequestException("点位设备不存在"); +// } +// +// JSONObject josnMater = materTab.query("material_code ='" + dto.getProduct_name() + "' and is_delete = '0' and is_used = '1'").uniqueResult(0); +// if (ObjectUtil.isEmpty(josnMater)) { +// throw new BadRequestException("物料不存在"); +// } +// +// +// dto.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextId()); +// dto.setCreate_id(currentUserId); +// dto.setCreate_name(nickName); +// dto.setUpdate_optid(currentUserId); +// dto.setUpdate_optname(nickName); +// dto.setUpdate_time(now); +// dto.setCreate_time(now); +// dto.setIs_delete("0"); +// dto.setProduct_area(jsonPoint.getString("product_area")); +// dto.setPoint_code(jsonPoint.getString("point_code")); +// dto.setStatus("00"); +// +// JSONObject json1 = JSONObject.parseObject(JSON.toJSONString(dto)); +// wo.insert(json1); +// } +// +// @Override +// @Transactional(rollbackFor = Exception.class) +// public void update(RawfoilworkorderDto dto) { +// RawfoilworkorderDto entity = this.findById(dto.getWorkorder_id()); +// if (entity == null) { +// throw new BadRequestException("被删除或无权限,操作失败!"); +// } +// +// WQLObject schBasePointService = WQLObject.getWQLObject("ST_IVT_SbPointIvt"); +// WQLObject wo = WQLObject.getWQLObject("pdm_bi_rawfoilworkorder"); +// WQLObject materTab = WQLObject.getWQLObject("md_me_materialbase"); +// +// String container_name = dto.getContainer_name(); +// +// String currentUserId = SecurityUtils.getCurrentUserId(); +// String nickName = SecurityUtils.getCurrentNickName(); +// String now = DateUtil.now(); +// +// JSONObject jsonPoint = schBasePointService.query("ext_code ='" + dto.getResource_name() + "'").uniqueResult(0); +// if (ObjectUtil.isEmpty(jsonPoint)) { +// throw new BadRequestException("点位设备不存在"); +// } +// +// JSONObject josnMater = materTab.query("material_code ='" + dto.getProduct_name() + "' and is_delete = '0' and is_used = '1'").uniqueResult(0); +// if (ObjectUtil.isEmpty(josnMater)) { +// throw new BadRequestException("物料不存在"); +// } +// +// +// dto.setUpdate_time(now); +// dto.setUpdate_optid(currentUserId); +// dto.setUpdate_optname(nickName); +// dto.setProduct_area(jsonPoint.getString("product_area")); +// dto.setPoint_code(jsonPoint.getString("point_code")); +// +// JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); +// wo.update(json); +// +// JSONArray resultJSONArray = wo.query("container_name = '" + container_name + "' and status <> '09'").getResultJSONArray(0); +// if (resultJSONArray.size() > 1) { +// throw new BadRequestException("母卷号已存在"); +// } +// } +// +// @Override +// @Transactional(rollbackFor = Exception.class) +// public void deleteAll(Long[] ids) { +// String currentUserId = SecurityUtils.getCurrentUserId(); +// String nickName = SecurityUtils.getCurrentNickName(); +// String now = DateUtil.now(); +// +// WQLObject wo = WQLObject.getWQLObject("pdm_bi_rawfoilworkorder"); +// for (Long workorder_id : ids) { +// JSONObject param = new JSONObject(); +// param.put("workorder_id", String.valueOf(workorder_id)); +// param.put("is_delete", "1"); +// param.put("update_optid", currentUserId); +// param.put("update_optname", nickName); +// param.put("update_time", now); +// wo.update(param); +// } +// } +// +// @Override +// @Transactional(rollbackFor = Exception.class) +// public void compelEnd(JSONObject whereJson) { +// String workorder_id = whereJson.getString("workorder_id"); +// String currentUserId = SecurityUtils.getCurrentUserId(); +// String currentUsername = SecurityUtils.getCurrentUsername(); +// +// //查询该生箔工单是否存在未完成的任务 +// String container_name = whereJson.getString("container_name"); +// +// JSONObject task_jo = WQLObject.getWQLObject("sch_base_task").query("material_code = '" + container_name + "' AND task_status < '07' AND is_delete = '0'").uniqueResult(0); +// if (ObjectUtil.isNotEmpty(task_jo)) { +// throw new BadRequestException("该生箔工单存在未完成的任务,请先完成任务!"); +// } +// +// WQLObject tab = WQLObject.getWQLObject("PDM_BI_RawFoilWorkOrder"); +// +// JSONObject json = tab.query("workorder_id = '" + workorder_id + "'").uniqueResult(0); +// json.put("status", "09"); +// json.put("finish_type", "02"); +// json.put("realend_time", DateUtil.now()); +// json.put("update_optid", currentUserId); +// json.put("update_optname", currentUsername); +// json.put("update_time", DateUtil.now()); +// tab.update(json); +// } +// +// @Override +// @Transactional(rollbackFor = Exception.class) +// public void confirm(JSONObject whereJson) { +// WQLObject tab = WQLObject.getWQLObject("PDM_BI_RawFoilWorkOrder"); +// String productin_qty = whereJson.getString("productin_qty"); +// +// JSONObject jsonRaw = tab.query("workorder_id = '" + whereJson.getString("workorder_id") + "'").uniqueResult(0); +// if (ObjectUtil.isEmpty(productin_qty)) { +// jsonRaw.put("productin_qty", 0); +// } else { +// jsonRaw.put("productin_qty", whereJson.getDoubleValue("productin_qty")); +// } +// tab.update(jsonRaw); +// } +// +//} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/SlittingproductionplanServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/SlittingproductionplanServiceImpl.java index ded9e2f..65bc354 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/SlittingproductionplanServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/SlittingproductionplanServiceImpl.java @@ -11,6 +11,8 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan; +import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.mapper.PdmBiSlittingproductionplanMapper; import org.nl.common.utils.SecurityUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.wql.WQL; @@ -20,6 +22,7 @@ import org.nl.wms.basedata.st.service.impl.UserAreaServiceImpl; import org.nl.wms.ext.mes.service.LmsToMesService; import org.nl.wms.pdm.service.SlittingproductionplanService; import org.nl.wms.pdm.service.dto.SlittingproductionplanDto; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -39,6 +42,8 @@ import java.util.Map; public class SlittingproductionplanServiceImpl implements SlittingproductionplanService { private final LmsToMesService lmsToMesService; + @Autowired + PdmBiSlittingproductionplanMapper pdmBiSlittingproductionplanMapper; @Override public Map queryAll(Map whereJson, Pageable page) { @@ -92,38 +97,38 @@ public class SlittingproductionplanServiceImpl implements Slittingproductionplan } @Override - public List queryAll(Map whereJson) { + public List queryAll(Map whereJson) { WQLObject wo = WQLObject.getWQLObject("pdm_bi_slittingproductionplan"); JSONArray arr = wo.query().getResultJSONArray(0); if (ObjectUtil.isNotEmpty(arr)) { - return arr.toJavaList(SlittingproductionplanDto.class); + return arr.toJavaList(PdmBiSlittingproductionplan.class); } return null; } @Override - public SlittingproductionplanDto findById(Long workorder_id) { + public PdmBiSlittingproductionplan findById(Long workorder_id) { WQLObject wo = WQLObject.getWQLObject("pdm_bi_slittingproductionplan"); JSONObject json = wo.query("workorder_id = '" + workorder_id + "'").uniqueResult(0); if (ObjectUtil.isNotEmpty(json)) { - return json.toJavaObject(SlittingproductionplanDto.class); + return json.toJavaObject(PdmBiSlittingproductionplan.class); } return null; } @Override - public SlittingproductionplanDto findByCode(String code) { + public PdmBiSlittingproductionplan findByCode(String code) { WQLObject wo = WQLObject.getWQLObject("pdm_bi_slittingproductionplan"); JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0); if (ObjectUtil.isNotEmpty(json)) { - return json.toJavaObject(SlittingproductionplanDto.class); + return json.toJavaObject(PdmBiSlittingproductionplan.class); } return null; } @Override @Transactional(rollbackFor = Exception.class) - public void create(SlittingproductionplanDto dto) { + public void create(PdmBiSlittingproductionplan dto) { String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -133,20 +138,25 @@ public class SlittingproductionplanServiceImpl implements Slittingproductionplan dto.setUpdate_optname(nickName); dto.setUpdate_time(now); - JSONObject jo = (JSONObject) JSON.toJSON(dto); - jo.put("status", "01"); - jo.put("is_parent_ok", "0"); - jo.put("is_child_tz_ok", "0"); - jo.put("is_child_ps_ok", "0"); - jo.put("is_delete", "0"); - WQLObject wo = WQLObject.getWQLObject("pdm_bi_slittingproductionplan"); - wo.insert(jo); + dto.setIs_call("0"); + dto.setStatus("01"); + dto.setIs_delete("0"); + dto.setIs_paper_ok("0"); + dto.setIs_child_tz_ok("0"); + dto.setIs_child_ps_ok("0"); + dto.setIs_parent_ok("0"); + if ("1".equals(dto.getOrder_type())){ + dto.setMaterial_type("FG1"); + }else { + dto.setMaterial_type("FG2"); + } + pdmBiSlittingproductionplanMapper.insert(dto); } @Override @Transactional(rollbackFor = Exception.class) - public void update(SlittingproductionplanDto dto) { - SlittingproductionplanDto entity = this.findById(dto.getWorkorder_id()); + public void update(PdmBiSlittingproductionplan dto) { + PdmBiSlittingproductionplan entity = this.findById(dto.getWorkorder_id()); if (entity == null) { throw new BadRequestException("被删除或无权限,操作失败!"); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls index 6a9c445..27686d0 100644 Binary files a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls and b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls differ diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java index 8fb2a5f..ca38c17 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java @@ -106,10 +106,10 @@ public class CallEmpReelTask extends AbstractAcsTask { jsonTask.put("update_time", DateUtil.now()); 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", "01"); + 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'"); } @@ -133,259 +133,93 @@ public class CallEmpReelTask extends AbstractAcsTask { 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")); } - // 判断是两个点位的任务还是四个点位的任务 - if (ObjectUtil.isEmpty(point_code3)) { - // 判断是取满 or 取空 :取满起点是生箔区域、取空起点是冷却区域 - JSONObject jsonSbIvt = sbTab.query("point_code = '" + point_code1.substring(0, point_code1.length() - 2) + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(jsonSbIvt)) { - // 取满 - JSONObject jsonCoolIvt = ivtTab.query("full_point_code = '" + point_code2 + "'").uniqueResult(0); - // 更新库存状态 - jsonCoolIvt.put("full_point_status", "02"); - jsonCoolIvt.put("instorage_time", DateUtil.now()); - jsonCoolIvt.put("container_name", jsonRaw.getString("container_name")); - jsonCoolIvt.put("workorder_id", jsonRaw.getString("workorder_id")); - jsonCoolIvt.put("ivt_qty", jsonRaw.getString("productin_qty")); - ivtTab.update(jsonCoolIvt); - - //更新母卷工单状态 - HashMap map = new HashMap<>(); - map.put("status", "09"); - 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") + "'"); - // hint: 判断是不是010105 - if ("010105".equals(jsonTask.getString("task_type"))) { - // 生成放空任务 - JSONObject map2 = new JSONObject(); - map2.put("flag", "102"); - map2.put("product_area", jsonTask.getString("product_area")); - map2.put("point_location", jsonTask.getString("point_location")); - map2.put("point_type", "1"); - JSONObject jsonIvt = WQL.getWO("PDA_RAWFOIL_01").addParamMap(map2).process().uniqueResult(0); - JSONObject nextTaskParam = new JSONObject(); - nextTaskParam.put("car_no", TaskUtils.getParam("A2_USE_CAR")); - nextTaskParam.put("point_code1", jsonIvt.getString("empty_point_code")); - nextTaskParam.put("point_code2", point_code1.replace("M", "K")); - nextTaskParam.put("task_type", "010105"); - nextTaskParam.put("material_code", jsonTask.getString("container_name")); - nextTaskParam.put("product_area", jsonTask.getString("product_area")); - this.createTask(nextTaskParam); - } - } else { - // 取空 - JSONObject jsonCoolIvt = ivtTab.query("empty_point_code = '" + point_code1 + "'").uniqueResult(0); - jsonCoolIvt.put("empty_point_status", "01"); - jsonCoolIvt.put("empty_vehicle_code", ""); - ivtTab.update(jsonCoolIvt); - } - - } else { - // 取满放空 - // 校验起点是否存在 - JSONObject jsonIvt = ivtTab.query("empty_point_code ='" + point_code1 + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonIvt)) { - throw new BadRequestException("未找到可用点位:" + point_code1); - } - - // 更新冷却库存状态 - jsonIvt.put("empty_point_status", "01"); - jsonIvt.put("empty_vehicle_code", ""); - ivtTab.update(jsonIvt); - - //判断任务类型,如果为二期B1生箔AGV任务则更新点位表库存 - if (jsonTask.getString("task_type").equals("010104")) { - // 校验终点是否存在 - JSONObject jsonIvt2 = point_tab.query("point_code ='" + point_code4 + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonIvt2)) { - throw new BadRequestException("终点未找到可用点位:" + point_code2); - } - - //创建桁架任务将子卷搬运到桁架下的半成品缓存位 - //查询当前点位为空且没有任务的桁架内缓存点 - JSONObject cache_param = new JSONObject(); - cache_param.put("flag", "4"); - cache_param.put("point_location", jsonIvt.getString("point_location")); - cache_param.put("product_area", jsonIvt.getString("product_area")); - JSONObject cache_jo = WQL.getWO("PDA_COOLIN").addParamMap(cache_param).process().uniqueResult(0); - if (ObjectUtil.isEmpty(cache_jo) || ObjectUtil.isEmpty(cache_jo.getString("point_code"))) { - // B1才创建半条任务 - if ("B1".equals(jsonTask.getString("product_area"))) { - // 创建半条任务 - JSONObject jo = new JSONObject(); - jo.put("task_id", IdUtil.getSnowflake(1, 1).nextId()); - jo.put("task_code", IdUtil.getSnowflake(1, 1).nextId()); - jo.put("task_type", "010206"); - jo.put("task_status", TaskStatusEnum.SURE_START.getCode()); - jo.put("point_code1", point_code4); - jo.put("point_code2", ""); - jo.put("material_code", jsonTask.getString("material_code")); - jo.put("product_area", jsonTask.getString("product_area")); - jo.put("handle_class", InHotTask.class.getName()); - jo.put("remark", cache_param); - jo.put("type", "3"); - jo.put("priority", "1"); - jo.put("sort_seq", "1"); - jo.put("create_time", DateUtil.now()); - jo.put("acs_task_type", "6"); - taskTab.insert(jo); - } else { - throw new BadRequestException("找不到对应的半成品缓存位"); - } - - } else { - JSONObject param = new JSONObject(); - param.put("point_code1", point_code4); - param.put("point_code2", cache_jo.getString("point_code")); - param.put("material_code", jsonTask.getString("material_code")); - param.put("product_area", jsonTask.getString("product_area")); - param.put("type", "3"); - InHotTask inHotTask = SpringContextHolder.getBean(InHotTask.class); - inHotTask.createTask(param); - } - // 更新点位库存状态 - jsonIvt2.put("point_status", "2"); - jsonIvt2.put("material_code", jsonTask.getString("material_code")); - point_tab.update(jsonIvt2); - } else if (jsonTask.getString("task_type").equals("010106")) { - // B2生箔 - BakingServiceImpl bean = SpringContextHolder.getBean(BakingServiceImpl.class); - WQLObject materTab = WQLObject.getWQLObject("md_me_materialbase"); // 物料表 - JSONObject requestParam = jsonTask.getJSONObject("request_param"); - String temperature = requestParam.getString("temperature"); - String hours = requestParam.getString("hours"); - // 校验终点是否存在 - JSONObject jsonIvt2 = point_tab.query("point_code ='" + point_code4 + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonIvt2)) { - throw new BadRequestException("终点未找到可用点位:" + point_code4); - } - // 更新工单状态为完成 - //更新母卷工单状态 - HashMap map = new HashMap<>(); - map.put("status", "09"); - 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") + "'"); - // 更新点位存状态 - JSONObject point_param = new JSONObject(); - point_param.put("point_status", "2"); - point_param.put("update_time", DateUtil.now()); - point_param.put("material_code", jsonRaw.getString("container_name")); - point_tab.update(point_param, "point_code ='" + point_code4 + "'"); - // 更新冷却库存状态 - JSONObject cache_param = new JSONObject(); - cache_param.put("full_point_status", "01"); - cache_param.put("cool_ivt_status", "01"); - cache_param.put("empty_point_status", "01"); - ivtTab.update(cache_param, "empty_point_code ='" + point_code1 + "'"); - // 创建桁架任务,入烘箱。 - JSONObject hotPoint = bean.getJsonObject(jsonIvt2.getString("product_area"), jsonIvt2, temperature); - String container_name = jsonTask.getString("material_code"); - //优化 - if (ObjectUtil.isNotEmpty(hotPoint)) { - // 创建暂存位 --> 烘烤区任务 - JSONObject param = new JSONObject(); - param.put("type", "2"); - param.put("point_code1", point_code4); - param.put("point_code2", hotPoint.getString("point_code")); - param.put("material_code", container_name); - param.put("product_area", hotPoint.getString("product_area")); - param.put("request_param", NumberUtil.mul(Double.parseDouble(hours), 60)); - - InHotTask inHotTask = new InHotTask(); - String taskId = inHotTask.createTask(param); - // 3.插入主表 - JSONObject jsonRawHot = rawTab.query("container_name = '" + container_name + "' and is_delete = '0'").uniqueResult(0); - JSONObject jsonMater = materTab.query("material_code = '" + jsonRawHot.getString("product_name") + "'").uniqueResult(0); - - JSONObject hotParam = new JSONObject(); - hotParam.put("container_name", container_name); - hotParam.put("workorder_id", jsonRawHot.getString("workorder_id")); - hotParam.put("material_id", jsonMater.getString("material_id")); - hotParam.put("qty", jsonRawHot.get("productin_qty")); - hotParam.put("io_type", "0"); - hotParam.put("qty_unit_id", jsonMater.getString("base_unit_id")); - hotParam.put("task_id", taskId); - hotParam.put("start_point_code", point_code1); - hotParam.put("end_point_code", hotPoint.getString("point_code")); - hotParam.put("temperature", temperature); - hotParam.put("oven_time", hours); - bean.createHotIoMst(hotParam); - } - } else { - // 校验终点是否存在 - JSONObject jsonIvt2 = ivtTab.query("full_point_code ='" + point_code4 + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonIvt2)) { - throw new BadRequestException("终点未找到可用点位:" + jsonIvt2); - } - - // 更新工单状态为完成 - //更新母卷工单状态 - HashMap map = new HashMap<>(); - map.put("status", "09"); - 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") + "'"); - - // 更新冷却库存状态 - JSONObject cache_param = new JSONObject(); - cache_param.put("full_point_status", "02"); - cache_param.put("instorage_time", DateUtil.now()); - cache_param.put("container_name", jsonRaw.getString("container_name")); - cache_param.put("workorder_id", jsonRaw.getString("workorder_id")); - cache_param.put("ivt_qty", jsonRaw.getString("productin_qty")); - cache_param.put("cool_ivt_status", "01"); - ivtTab.update(cache_param, "full_point_code ='" + point_code4 + "'"); - - /*// 插入入库单 - JSONObject jsonMater = WQLObject.getWQLObject("md_me_materialbase").query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonMater)) { - throw new BadRequestException("产品不存在"); - } - - JSONObject jsonRegion = new JSONObject(); - jsonRegion.put("iostorinv_id", IdUtil.getSnowflake(1, 1).nextId()); - jsonRegion.put("bill_code", CodeUtil.getNewCode("COOLREGION_BILL_CODE")); - jsonRegion.put("io_type", "0"); - jsonRegion.put("material_id", jsonMater.getString("material_id")); - jsonRegion.put("pcsn", jsonRaw.getString("container_name")); - jsonRegion.put("vehicle_code", ""); - jsonRegion.put("qty", jsonRaw.getString("productin_qty")); - jsonRegion.put("qty_unit_id", jsonMater.get("base_unit_id")); - jsonRegion.put("bill_status", "50"); - jsonRegion.put("start_point_code", point_code2); - jsonRegion.put("end_point_code", point_code4); - jsonRegion.put("cust_id", ""); - jsonRegion.put("create_mode", "03"); - jsonRegion.put("task_id", task_id); - jsonRegion.put("create_id", currentUserId); - jsonRegion.put("create_name", currentUsername); - jsonRegion.put("create_time", DateUtil.now()); - jsonRegion.put("update_optid", currentUserId); - jsonRegion.put("update_optname", currentUsername); - jsonRegion.put("update_time", DateUtil.now()); - jsonRegion.put("confirm_optid", currentUserId); - jsonRegion.put("confirm_optname", currentUsername); - jsonRegion.put("confirm_time", DateUtil.now()); - coolTab.insert(jsonRegion);*/ - } + 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"))) { + //更新生箔机点位库存 + updateSbIvt(sbTab, point_code3, "01","02"); + //更新冷却区点位库存 + updateIvtIvt(ivtTab, point_code4, "02", "01", DateUtil.now(), containerName, workorderId, productinQty); } + //取满放满 + if ("010102".equals(jsonTask.getString("task_type"))) { + //更新生箔机点位库存 + updateSbIvt(sbTab, point_code1, "01",null); + //更新冷却区点位库存 + updateIvtIvt(ivtTab, point_code2, "02", null, DateUtil.now(), containerName, workorderId, productinQty); + } + //起点是冷却区 取空放空 + if ("010103".equals(jsonTask.getString("task_type"))) { + //更新生箔机点位库存 + updateSbIvt(sbTab, point_code1, null,"02"); + //更新冷却区点位库存 + updateIvtIvt(ivtTab, point_code2, null, "01", DateUtil.now(), null, null, null); + } + //起点是生箔机 取空放空 + if ("010104".equals(jsonTask.getString("task_type"))) { + //更新生箔机点位库存 + updateSbIvt(sbTab, point_code1, null,"01"); + //更新冷却区点位库存 + updateIvtIvt(ivtTab, point_code2, null, "02", DateUtil.now(), null, null, null); + } + //更新母卷工单状态 + 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") + "'"); + } +} + + private void updateSbIvt(WQLObject sbTab, String fullPointCode, + String fullStatus, String emptyStatus) { + JSONObject jsonSbIvt; + if (fullPointCode.endsWith("M")) { + jsonSbIvt = sbTab.query("full_point_code = '" + fullPointCode + "'").uniqueResult(0); + } else { + jsonSbIvt = sbTab.query("empty_point_code = '" + fullPointCode + "'").uniqueResult(0); } + if (ObjectUtil.isEmpty(jsonSbIvt)) { + 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); + } + + + private void updateIvtIvt(WQLObject ivtTab, String fullPointCode, + String fullStatus, String emptyStatus, + String instorageTime, String containerName, + String workorderId, String ivtQty) { + JSONObject jsonCoolIvt; + if (fullPointCode.endsWith("M")) { + jsonCoolIvt = ivtTab.query("full_point_code = '" + fullPointCode + "'").uniqueResult(0); + } else { + jsonCoolIvt = ivtTab.query("empty_point_code = '" + fullPointCode + "'").uniqueResult(0); + } + if (ObjectUtil.isEmpty(jsonCoolIvt)) { + 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); } @Override @@ -449,7 +283,7 @@ public class CallEmpReelTask extends AbstractAcsTask { } else { json.put("priority", priority_jo.getString("value")); } - if ("010101".equals(form.getString("task_type")) || "010106".equals(form.getString("task_type")) || "010104".equals(form.getString("task_type"))) { + if ("010101".equals(form.getString("task_type"))) { json.put("acs_task_type", "1"); } else { json.put("acs_task_type", "3"); 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 9ad2517..9d4828f 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 @@ -72,6 +72,7 @@ public class InCoolIvtTask extends AbstractAcsTask { WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); // 点位表 WQLObject ivtTab = WQLObject.getWQLObject("ST_IVT_CoolPointIvt"); // 冷却区库存表 WQLObject coolTab = WQLObject.getWQLObject("ST_IVT_CoolRegionIO"); // 冷却区出入表 + WQLObject pdm_bi_rawfoilworkorder = WQLObject.getWQLObject("pdm_bi_rawfoilworkorder"); String task_id = taskObj.getString("task_id"); JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "'").uniqueResult(0); @@ -113,31 +114,21 @@ public class InCoolIvtTask extends AbstractAcsTask { } // 校验终点是否存在 JSONObject jsonIvt = ivtTab.query("full_point_code ='" + point_code2 + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonIvt)) { - // 判断是不是暂存位 - JSONObject zzPoint = pointTab.query("point_code ='" + point_code2 + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(zzPoint)) { - throw new BadRequestException("终点未找到可用点位:" + point_code2); - } - zzPoint.put("material_code", jsonTask.getString("material_code")); - // 有料 - zzPoint.put("point_status", "2"); - zzPoint.put("update_optid", SecurityUtils.getCurrentUserId()); - zzPoint.put("update_optname", SecurityUtils.getCurrentNickName()); - zzPoint.put("update_time", DateUtil.now()); - pointTab.update(zzPoint); - } else { - // 更新冷却库存状态 - JSONObject raw_jo = WQLObject.getWQLObject("pdm_bi_rawfoilworkorder").query("container_name = '" + jsonTask.getString("material_code") + "'").uniqueResult(0); - jsonIvt.put("full_point_status", "02"); - jsonIvt.put("cool_ivt_status", "04"); - jsonIvt.put("instorage_time", DateUtil.now()); - jsonIvt.put("container_name", raw_jo.getString("container_name")); - jsonIvt.put("workorder_id", raw_jo.getString("workorder_id")); - jsonIvt.put("ivt_qty", raw_jo.getString("qty")); - ivtTab.update(jsonIvt); - } + //更新生箔工单母卷信息 + 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"); + pdm_bi_rawfoilworkorder.update(raw_jo); + + // 更新冷却库存状态 + jsonIvt.put("full_point_status", "02"); + jsonIvt.put("cool_ivt_status", "04"); + jsonIvt.put("instorage_time", DateUtil.now()); + jsonIvt.put("container_name", raw_jo.getString("container_name")); + jsonIvt.put("workorder_id", raw_jo.getString("workorder_id")); + jsonIvt.put("ivt_qty", raw_jo.getString("qty")); + ivtTab.update(jsonIvt); // 更新暂存位状态为空位 JSONObject jsonPoint = pointTab.query("point_code = '" + point_code1 + "'").uniqueResult(0); 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 bdfc1db..233f454 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 @@ -119,53 +119,26 @@ public class InHotTask extends AbstractAcsTask { String hot_point_code = ""; // 判断此任务是否有三个点位 if (ObjectUtil.isEmpty(jsonTask.getString("point_code3"))) { - - if (jsonTask.getString("task_type").equals("010204")) { - //更新冷却区库存 - JSONObject cool_jo = coolIvtTab.query("point_code = '" + jsonTask.getString("point_code2") + "'").uniqueResult(0); - cool_jo.put("full_point_status", "02"); - cool_jo.put("cool_ict_status", "01"); - cool_jo.put("container_name", jsonTask.getString("material_code")); - coolIvtTab.update(cool_jo); - //更新对接位库存 - JSONObject dj_jo = pointTab.query("point_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0); - dj_jo.put("point_status", "1"); - dj_jo.put("material_code", ""); - pointTab.update(dj_jo); - return; - } else { - /* - * 暂存区入烘箱任务 - */ - // 更新烘箱区库存状态 - JSONObject jsonHotIvt = hotIvtTab.query("point_code = '" + jsonTask.getString("point_code2") + "'").uniqueResult(0); - jsonHotIvt.put("point_status", "02"); - jsonHotIvt.put("container_name", jsonHotMst.getString("container_name")); - jsonHotIvt.put("workorder_id", jsonHotMst.getString("workorder_id")); - jsonHotIvt.put("ivt_qty", jsonHotMst.getString("qty")); - jsonHotIvt.put("instorage_time", DateUtil.now()); - jsonHotIvt.put("update_optid", currentUserId); - jsonHotIvt.put("update_optname", currentUsername); - jsonHotIvt.put("update_time", DateUtil.now()); - hotIvtTab.update(jsonHotIvt); - - String product_area = jsonHotIvt.getString("product_area"); - if (product_area.equals("B1")) { - JSONObject jsonPoint = coolIvtTab.query("point_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0); - jsonPoint.put("container_name", ""); - jsonPoint.put("full_point_status", "01"); - coolIvtTab.update(jsonPoint); - } else { - // 更新暂存区点位状态为空位 - JSONObject jsonPoint = pointTab.query("point_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0); - jsonPoint.put("point_status", "1"); - jsonPoint.put("material_code", ""); - pointTab.update(jsonPoint); - } - - - hot_point_code = jsonHotIvt.getString("ext_code"); - } + /* + * 暂存区入烘箱任务 + */ + // 更新烘箱区库存状态 + JSONObject jsonHotIvt = hotIvtTab.query("point_code = '" + jsonTask.getString("point_code2") + "'").uniqueResult(0); + jsonHotIvt.put("point_status", "02"); + jsonHotIvt.put("container_name", jsonHotMst.getString("container_name")); + jsonHotIvt.put("workorder_id", jsonHotMst.getString("workorder_id")); + jsonHotIvt.put("ivt_qty", jsonHotMst.getString("qty")); + jsonHotIvt.put("instorage_time", DateUtil.now()); + jsonHotIvt.put("update_optid", currentUserId); + jsonHotIvt.put("update_optname", currentUsername); + jsonHotIvt.put("update_time", DateUtil.now()); + hotIvtTab.update(jsonHotIvt); + // 更新暂存区点位状态为空位 + JSONObject jsonPoint = pointTab.query("point_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0); + jsonPoint.put("point_status", "1"); + jsonPoint.put("material_code", ""); + pointTab.update(jsonPoint); + hot_point_code = jsonHotIvt.getString("ext_code"); } else { /* @@ -352,39 +325,6 @@ public class InHotTask extends AbstractAcsTask { tab.insert(json); task_id = json.getString("task_id"); } - - if (StrUtil.equals(form.getString("type"), "3")) { - { - String point_code1 = form.getString("point_code1"); - String point_code2 = form.getString("point_code2"); - - if (cutConveyorTask.isSingleTask(point_code1)) { - throw new BadRequestException("点位:" + point_code1 + "存在未完成的任务!"); - } - if (cutConveyorTask.isSingleTask(point_code2)) { - throw new BadRequestException("点位:" + point_code2 + "存在未完成的任务!"); - } - - JSONObject json = new JSONObject(); - json.put("task_id", IdUtil.getSnowflake(1, 1).nextId()); - json.put("task_code", IdUtil.getSnowflake(1, 1).nextId()); - json.put("task_type", "010204"); - json.put("task_status", TaskStatusEnum.START_AND_POINT.getCode()); - json.put("point_code1", form.getString("point_code1")); - json.put("point_code2", form.getString("point_code2")); - json.put("material_code", form.getString("material_code")); - json.put("product_area", form.getString("product_area")); - json.put("sort_seq", "1"); - json.put("handle_class", THIS_CLASS); - json.put("create_id", currentUserId); - json.put("create_name", currentUsername); - json.put("create_time", DateUtil.now()); - json.put("priority", "1"); - json.put("acs_task_type", "6"); - tab.insert(json); - task_id = json.getString("task_id"); - } - } immediateNotifyAcs(task_id); return 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 d787724..0e979b2 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 @@ -102,120 +102,57 @@ public class OutHotTask extends AbstractAcsTask { jsonTask.put("update_time", DateUtil.now()); taskTab.update(jsonTask); - if (jsonTask.getString("task_type").equals("010205")) { - JSONObject cut_jo = WQLObject.getWQLObject("st_ivt_cutpointivt").query("full_point_code = '" + jsonTask.getString("point_code3") + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(cut_jo)) { - cut_jo = WQLObject.getWQLObject("st_ivt_coolpointivt").query("full_point_code = '" + jsonTask.getString("point_code3") + "'").uniqueResult(0); - } - //清空起点库存 - JSONObject cool_jo = WQLObject.getWQLObject("st_ivt_coolpointivt").query("point_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0); - cool_jo.put("container_name", ""); - cool_jo.put("full_point_status", "01"); - WQLObject.getWQLObject("st_ivt_coolpointivt").update(cool_jo); + JSONObject jsonHotIvt = hotIvtTab.query("point_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0); - //更新终点库存 - JSONObject jsonPoint2 = pointTab.query("point_code = '" + jsonTask.getString("point_code2") + "'").uniqueResult(0); - jsonPoint2.put("point_status", "2"); - jsonPoint2.put("material_code", jsonTask.getString("material_code")); - pointTab.update(jsonPoint2); + // 更新主表: 什么时候更新主表 + JSONObject jsonHotMst = hotMstTab.query("task_id = '" + task_id + "'").uniqueResult(0); - //创建AGV任务 - JSONObject jo = new JSONObject(); - if (StrUtil.equals("01", cut_jo.getString("empty_point_status"))) { - jo.put("point_code1", jsonTask.getString("point_code2")); - jo.put("point_code2", cut_jo.getString("full_point_code")); - jo.put("material_code", jsonTask.getString("material_code")); - jo.put("product_area", cut_jo.getString("product_area")); - jo.put("task_type", "010302"); - } else { - jo.put("point_code1", jsonTask.getString("point_code2")); - jo.put("point_code2", cut_jo.getString("full_point_code")); - jo.put("point_code3", cut_jo.getString("empty_point_code")); - // 2.找冷却区空货位 - JSONObject map = new JSONObject(); - map.put("flag", "2"); - map.put("product_area", cut_jo.getString("product_area")); - map.put("point_location", "0"); - - JSONObject jsonCooIvt = WQL.getWO("PDA_OVENINANDOUT_01").addParamMap(map).process().uniqueResult(0); - // 如果为空 - if (ObjectUtil.isEmpty(jsonCooIvt)) { - map.put("point_location", "1"); - jsonCooIvt = WQL.getWO("PDA_OVENINANDOUT_01").addParamMap(map).process().uniqueResult(0); - } - if (ObjectUtil.isEmpty(jsonCooIvt)) { - throw new BadRequestException("冷却区空位不足"); - } - jo.put("point_code4", jsonCooIvt.getString("empty_point_code")); - jo.put("material_code", jsonTask.getString("material_code")); - jo.put("product_area", cut_jo.getString("product_area")); - jo.put("task_type", "010301"); - } - AbstractAcsTask task = new CoolCutTask(); - task.createTask(jo); - } else { - JSONObject jsonHotIvt = hotIvtTab.query("point_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0); - - // 更新主表: 什么时候更新主表 - JSONObject jsonHotMst = hotMstTab.query("task_id = '" + task_id + "'").uniqueResult(0); - - // 更新暂存区点位状态 - JSONObject jsonPoint2 = pointTab.query("point_code = '" + jsonTask.getString("point_code2") + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonPoint2)) { - //查询冷却区点位 - jsonPoint2 = ivtTab.query("point_code = '" + jsonTask.getString("point_code2") + "'").uniqueResult(0); - jsonPoint2.put("full_point_status", "02"); - jsonPoint2.put("cool_ivt_status", "04"); - jsonPoint2.put("instorage_time", DateUtil.now()); - jsonPoint2.put("container_name", jsonHotIvt.getString("container_name")); - ivtTab.update(jsonPoint2); - } else { - jsonPoint2.put("point_status", "2"); - jsonPoint2.put("material_code", jsonHotIvt.getString("container_name")); - pointTab.update(jsonPoint2); - } + // 更新暂存区点位状态 + JSONObject jsonPoint2 = pointTab.query("point_code = '" + jsonTask.getString("point_code2") + "'").uniqueResult(0); + jsonPoint2.put("point_status", "2"); + jsonPoint2.put("material_code", jsonHotIvt.getString("container_name")); + pointTab.update(jsonPoint2); - // 更新烘箱区库存状态 - jsonHotIvt.put("point_status", "01"); - jsonHotIvt.put("container_name", ""); - jsonHotIvt.put("workorder_id", ""); - jsonHotIvt.put("ivt_qty", 0); - jsonHotIvt.put("instorage_time", ""); - jsonHotIvt.put("update_optid", currentUserId); - jsonHotIvt.put("update_optname", currentUsername); - jsonHotIvt.put("update_time", DateUtil.now()); + // 更新烘箱区库存状态 + jsonHotIvt.put("point_status", "01"); + jsonHotIvt.put("container_name", ""); + jsonHotIvt.put("workorder_id", ""); + jsonHotIvt.put("ivt_qty", 0); + jsonHotIvt.put("instorage_time", ""); + jsonHotIvt.put("update_optid", currentUserId); + jsonHotIvt.put("update_optname", currentUsername); + jsonHotIvt.put("update_time", DateUtil.now()); - log.info("出烘箱wql执行update语句!"); - hotIvtTab.update(jsonHotIvt); - JSONObject update_ivt = hotIvtTab.query("point_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0); - log.info("更新完后烘箱库存为:-----------------" + update_ivt.toString()); + log.info("出烘箱wql执行update语句!"); + hotIvtTab.update(jsonHotIvt); + JSONObject update_ivt = hotIvtTab.query("point_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0); + log.info("更新完后烘箱库存为:-----------------" + update_ivt.toString()); - log.info("出烘箱mybatis执行update语句!"); - HotMapper hotMapper = SpringContextHolder.getBean(HotMapper.class); - hotMapper.updateHotByObject(jsonHotIvt); - JSONObject update_ivt2 = hotIvtTab.query("point_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0); - log.info("更新完后烘箱库存为:-----------------" + update_ivt2.toString()); + log.info("出烘箱mybatis执行update语句!"); + HotMapper hotMapper = SpringContextHolder.getBean(HotMapper.class); + hotMapper.updateHotByObject(jsonHotIvt); + JSONObject update_ivt2 = hotIvtTab.query("point_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0); + log.info("更新完后烘箱库存为:-----------------" + update_ivt2.toString()); - if (!update_ivt2.getString("container_name").equals(update_ivt.getString("container_name"))) { - log.info("出烘箱WQL更新不成功!"); - } + if (!update_ivt2.getString("container_name").equals(update_ivt.getString("container_name"))) { + log.info("出烘箱WQL更新不成功!"); + } - // 将出烘箱信息发送给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")); + // 将出烘箱信息发送给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 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-system/src/main/java/org/nl/wms/util/ConvertUtil.java b/lms/nladmin-system/src/main/java/org/nl/wms/util/ConvertUtil.java new file mode 100644 index 0000000..5d4ab3c --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/util/ConvertUtil.java @@ -0,0 +1,34 @@ +package org.nl.wms.util; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.nl.common.base.PageInfo; + +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + +public class ConvertUtil { + + public static T convert(final S s, Class clz) { + return s == null ? null : BeanUtil.copyProperties(s, clz); + } + + public static List convertList(List s, Class clz) { + return s == null ? null : s.stream().map(vs -> BeanUtil.copyProperties(vs, clz)).collect(Collectors.toList()); + } + + public static Set convertSet(Set s, Class clz) { + return s == null ? null : s.stream().map(vs -> BeanUtil.copyProperties(vs, clz)).collect(Collectors.toSet()); + } + + public static PageInfo convertPage(IPage page, Class clz) { + if (page == null) { + return null; + } + PageInfo pageInfo = new PageInfo<>(); + pageInfo.setTotalElements(page.getTotal()); + pageInfo.setContent(convertList(page.getRecords(), clz)); + return pageInfo; + } +} diff --git a/lms/nladmin-ui/src/views/wms/pdm/ivt/cutpointivt/cutpointivt.js b/lms/nladmin-ui/src/views/wms/pdm/ivt/cutpointivt/cutpointivt.js index 81940f7..a171474 100644 --- a/lms/nladmin-ui/src/views/wms/pdm/ivt/cutpointivt/cutpointivt.js +++ b/lms/nladmin-ui/src/views/wms/pdm/ivt/cutpointivt/cutpointivt.js @@ -23,5 +23,11 @@ export function edit(data) { data }) } +export function getResources() { + return request({ + url: 'api/cutpointivt/getResources', + method: 'get' + }) +} -export default { add, edit, del } +export default { add, edit, del, getResources } diff --git a/lms/nladmin-ui/src/views/wms/pdm/ivt/sbpointivt/index.vue b/lms/nladmin-ui/src/views/wms/pdm/ivt/sbpointivt/index.vue index 4291611..ef2ba1e 100644 --- a/lms/nladmin-ui/src/views/wms/pdm/ivt/sbpointivt/index.vue +++ b/lms/nladmin-ui/src/views/wms/pdm/ivt/sbpointivt/index.vue @@ -67,10 +67,10 @@ - + - + - + @@ -123,6 +122,18 @@ + + + + + + + +