From 01ba80a3845a86cec33dc99a8b673cc8e26fca04 Mon Sep 17 00:00:00 2001 From: liuxy Date: Wed, 14 Aug 2024 10:35:51 +0800 Subject: [PATCH 1/2] =?UTF-8?q?rev=EF=BC=9A=E4=B8=80=E6=9C=9F=E8=BE=93?= =?UTF-8?q?=E9=80=81=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../acs/service/impl/AcsToWmsServiceImpl.java | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 120a629bd..59653abc1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -1592,16 +1592,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { log.info("shipDeviceUpdate请求参数:---------------------------------------------" + whereJson.toString() + ",ACS上报无货且此时LMS该点位没有任何任务!"); JSONObject result = new JSONObject(); result.put("status", HttpStatus.OK.value()); - result.put("message", "反馈成功,ACS上报无货且此时LMS该点位没有任何任务!"); + result.put("message", "反馈成功!"); return result; - }else { - String vehicleCode2 = left_jo.getString("vehicle_code2"); - if (!deliver_jo.getString("vehicle_code").equals(vehicleCode2)) { - JSONObject result = new JSONObject(); - result.put("status", HttpStatus.OK.value()); - result.put("message", "反馈成功,ACS上报无货但当前点位载具和任务载具号不一致!"); - return result; - } } } else { //如果为分切输送线上料位,判断该点位是否存在未完成的任务类型为分切输送出的或载具横移任务 @@ -1612,14 +1604,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { result.put("status", HttpStatus.OK.value()); result.put("message", "反馈成功!"); return result; - }else { - String vehicleCode2 = right_jo.getString("vehicle_code2"); - if (!deliver_jo.getString("vehicle_code").equals(vehicleCode2)) { - JSONObject result = new JSONObject(); - result.put("status", HttpStatus.OK.value()); - result.put("message", "反馈成功,ACS上报无货但当前点位载具和任务载具号不一致!"); - return result; - } } } deliver_jo.put("point_status", "01"); From 3b85a8556c31e4b5b585b3d08083274c08bd1759 Mon Sep 17 00:00:00 2001 From: liuxy Date: Thu, 15 Aug 2024 13:36:37 +0800 Subject: [PATCH 2/2] =?UTF-8?q?add=EF=BC=9A1.=E6=89=8B=E6=8C=81=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=89=93=E5=8D=B0=E5=86=85=E6=A0=87=E3=80=81=E7=AE=A1?= =?UTF-8?q?=E6=A0=872.=E8=B4=A8=E6=A3=80=E5=90=88=E6=A0=BC=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E6=89=93=E5=8D=B0=E5=86=85=E6=A0=87=E3=80=81=E7=AE=A1?= =?UTF-8?q?=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PrintTableTwoController.java | 48 +++ .../pda/service/PrintTableTwoService.java | 40 +++ .../impl/PrintTableTwoServiceImpl.java | 288 ++++++++++++++++++ .../nl/b_lms/pdm_manage/enums/SUBEnum.java | 6 + .../impl/BstIvtPackageinfoivtServiceImpl.java | 34 +++ .../b_lms/sch/tasks/TwoExceptionInTask.java | 1 + .../org/nl/b_lms/sch/tasks/TwoInBoxTask.java | 1 + .../org/nl/b_lms/sch/tasks/TwoInTask.java | 5 +- .../nl/b_lms/sch/tasks/TwoMoveBoxTask.java | 1 + .../org/nl/b_lms/sch/tasks/TwoOutBoxTask.java | 3 +- .../sch/tasks/TwoOutExceptionalTask.java | 1 + .../nl/b_lms/sch/tasks/TwoOutHeapTask.java | 1 + .../org/nl/b_lms/sch/tasks/TwoOutTask.java | 1 + .../impl/StIvtIostorinvOutServiceImpl.java | 12 + .../master/service/dto/CustomerbaseDto.java | 5 + .../org/nl/wms/basedata/master/wql/mdcs.xls | Bin 183808 -> 184320 bytes .../wms/basedata/st/wql/QST_STRUCTIVT001.wql | 24 +- .../java/org/nl/wms/pda/st/wql/PDA_ST_01.wql | 2 + .../src/main/java/org/nl/wms/pdm/wql/pdm.xls | Bin 253952 -> 254976 bytes .../main/java/org/nl/wms/sch/AcsTaskDto.java | 4 + .../wms/basedata/master/customer/index.vue | 28 +- .../src/views/wms/basedata/st/ivt/index.vue | 1 + 22 files changed, 495 insertions(+), 11 deletions(-) create mode 100644 lms/nladmin-system/src/main/java/org/nl/b_lms/pda/controller/PrintTableTwoController.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/PrintTableTwoService.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/PrintTableTwoServiceImpl.java diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/controller/PrintTableTwoController.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/controller/PrintTableTwoController.java new file mode 100644 index 000000000..2df60f472 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/controller/PrintTableTwoController.java @@ -0,0 +1,48 @@ +package org.nl.b_lms.pda.controller; + + +import cn.dev33.satoken.annotation.SaIgnore; +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import org.nl.b_lms.pda.service.PrintTableTwoService; +import org.nl.b_lms.pdm_manage.enums.SUBEnum; +import org.nl.modules.logging.annotation.Log; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author liuxy + * @date 2024-08-13 + **/ +@RestController +@RequestMapping("/api/twoPrintTable") +@Slf4j +public class PrintTableTwoController { + + @Autowired + private PrintTableTwoService printTableTwoService; + + @PostMapping("/printTable") + @Log("打印") + @SaIgnore + public ResponseEntity confirmPass(@RequestBody JSONObject whereJson) { + if (whereJson.getString("type").equals(SUBEnum.TABLE_TYPE.code("内标"))) { + return new ResponseEntity<>(printTableTwoService.withinTable(whereJson), HttpStatus.OK); + } else { + return new ResponseEntity<>(printTableTwoService.pipeTable(whereJson), HttpStatus.OK); + } + } + + @PostMapping("/getPrint") + @Log("获取打印机") + @SaIgnore + public ResponseEntity getPrint() { + return new ResponseEntity<>(printTableTwoService.getPrint(), HttpStatus.OK); + } + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/PrintTableTwoService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/PrintTableTwoService.java new file mode 100644 index 000000000..d06fc13e8 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/PrintTableTwoService.java @@ -0,0 +1,40 @@ +package org.nl.b_lms.pda.service; + +import com.alibaba.fastjson.JSONObject; + +/** + * @author liuxy + * @description 服务接口 + * @date 2024-08-13 + **/ +public interface PrintTableTwoService { + + /** + * 内标打印 + * + * @param whereJson: { + * pcsn: 子卷号 + * print_code: 打印机 + * } + * @return JSONObject + */ + JSONObject withinTable(JSONObject whereJson); + + /** + * 管标打印 + * + * @param whereJson { + * pcsn: 子卷号 + * print_code: 打印机 + * } + * @return + */ + JSONObject pipeTable(JSONObject whereJson); + + /** + * 获取打印机 + * + * @return JSONObject + */ + JSONObject getPrint(); +} diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/PrintTableTwoServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/PrintTableTwoServiceImpl.java new file mode 100644 index 000000000..6b1e67a60 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/PrintTableTwoServiceImpl.java @@ -0,0 +1,288 @@ +package org.nl.b_lms.pda.service.impl; + +import cn.hutool.core.util.NumberUtil; +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.nl.b_lms.pda.service.PrintTableTwoService; +import org.nl.b_lms.pdm.info.dao.PdmBiContainerinfo; +import org.nl.b_lms.pdm.info.dao.PdmBiOrderbominfo; +import org.nl.b_lms.pdm.info.service.IPdmBiContainerinfoService; +import org.nl.b_lms.pdm.info.service.IPdmBiOrderbominfoService; +import org.nl.b_lms.pdm_manage.enums.SUBEnum; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.system.service.param.impl.SysParamServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.io.*; + +@Service +public class PrintTableTwoServiceImpl implements PrintTableTwoService { + + /* + * 子卷下线服务 + */ + @Autowired + private IPdmBiContainerinfoService iPdmBiContainerinfoService; + + /* + * 订单bom服务 + */ + @Autowired + private IPdmBiOrderbominfoService iPdmBiOrderbominfoService; + + @Override + @Transactional(rollbackFor = Exception.class) + public JSONObject withinTable(JSONObject whereJson) { + // 返回参数 + JSONObject result = new JSONObject(); + // 基础校验 + String pcsn = whereJson.getString("pcsn"); + if (ObjectUtil.isEmpty(pcsn)) { + throw new BadRequestException("子卷号不能为空!"); + } + + JSONObject jsonPrint = WQLObject.getWQLObject("pdm_bi_printinfo") + .query("print_id = '" + whereJson.getString("print_code") + "' and print_region = '2'") + .uniqueResult(0); + + if (ObjectUtil.isEmpty(jsonPrint)) { + throw new BadRequestException("打印机不能为空!"); + } + + // 根据子卷号查询子卷下线表 + PdmBiContainerinfo subDao = iPdmBiContainerinfoService.getOne( + new QueryWrapper().lambda() + .eq(PdmBiContainerinfo::getContainer_name, pcsn) + ); + if (ObjectUtil.isEmpty(subDao)) { + throw new BadRequestException("未查询到子卷号:" + pcsn + "的子卷下线记录!"); + } + // 找对应的分切计划 + JSONObject jsonPlan = WQLObject.getWQLObject("pdm_bi_slittingproductionplan") + .query("container_name = '" + pcsn + "' and is_delete = '0'") + .uniqueResult(0); + if (ObjectUtil.isEmpty(jsonPlan)) { + throw new BadRequestException("子卷号:" + pcsn + "未查询到分切工单!"); + } + // 校验信息 + if (ObjectUtil.isEmpty(jsonPlan.getString("description"))) { + throw new BadRequestException("子卷号:" + pcsn + "物料描述不能为空!(分切计划工单)"); + } + if (ObjectUtil.isEmpty(subDao.getThickness_request()) || ObjectUtil.isEmpty(subDao.getWidth_standard())) { + throw new BadRequestException("子卷号:" + pcsn + "规格不能为空!(子卷下线记录)"); + } + if (ObjectUtil.isEmpty(subDao.getMass_per_unit_area())) { + throw new BadRequestException("子卷号:" + pcsn + "单位面积质量不能为空!(子卷下线记录)"); + } + if (ObjectUtil.isEmpty(subDao.getNet_weight())) { + throw new BadRequestException("子卷号:" + pcsn + "净重不能为空!(子卷下线记录)"); + } + if (ObjectUtil.isEmpty(subDao.getLength())) { + throw new BadRequestException("子卷号:" + pcsn + "长度不能为空!(子卷下线记录)"); + } + if (ObjectUtil.isEmpty(jsonPlan.getString("material_type"))) { + throw new BadRequestException("子卷号:" + pcsn + "物料类型不能为空!(分切计划工单)"); + } + if (ObjectUtil.isEmpty(jsonPlan.getString("joint_type"))) { + throw new BadRequestException("子卷号:" + pcsn + "接头数不能为空!(分切计划工单)"); + } + + /* + * 组织标签字段 + */ + // 模版名称 + String LocationOfBTW = "\"" + SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("TWO_PRINT_WITHIN").getValue() + "\""; + // 抬头 + String BTW = "%BTW% /AF=" + LocationOfBTW + "/R=3 /PRN=" + "\"" + jsonPrint.getString("print_floder") + "\"" + " /D /P /C=1"; + // 标签类型: 查询客户信息中配置的打印模版,根据模版找到字典配置的参数 + JSONObject jsonCust = WQLObject.getWQLObject("md_cs_customerbase") + .query("cust_code = '" + subDao.getCustomer_name() + "' AND is_delete = '0' AND is_used = '1'") + .uniqueResult(0); + if (ObjectUtil.isEmpty(jsonCust)) { + throw new BadRequestException("客户【"+subDao.getCustomer_description()+"】不存在或未启用!"); + } + JSONObject jsonDict = WQLObject.getWQLObject("sys_dict") + .query("code = 'two_print_temple' AND value = '" + jsonCust.getString("bz_print_within") + "'") + .uniqueResult(0); + if (ObjectUtil.isEmpty(jsonDict)) { + throw new BadRequestException("客户【"+subDao.getCustomer_description()+"】未找到对应的打印模版,请检查是否在客户信息中配置!"); + } + String LabelType = jsonDict.getString("para1"); + + /* + * 生成txt文件 + */ + // 远程路径 + String filePath = jsonPrint.getString("print_route") + pcsn + "内标.txt"; + FileWriter fw = null; + + try { + File file = new File(filePath); + if (!file.exists()) { + file.createNewFile(); + } + fw = new FileWriter(filePath); + OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(file), "utf-8"); + BufferedWriter bw = new BufferedWriter(write); + + // 抬头 + bw.write(BTW + "\n"); + bw.write("%END%\n"); + // 须打印的key字段 + bw.write("LabelType,ContainerName,SerialNumber2,ProductName,Thickness,ArealWeight,Qty,Length,InspectUser,MfgDate,ProductFamilyName,JointNumbers\n"); + // 须打印的value值 + bw.write( + LabelType + "," + + subDao.getContainer_name() + "," + + subDao.getSap_pcsn() + "," + + jsonPlan.getString("description") + "," + + subDao.getThickness_request() + "x" + subDao.getWidth_standard() + "," + + NumberUtil.round(subDao.getMass_per_unit_area(), 2).toString() + "," + + NumberUtil.round(subDao.getNet_weight(), 2).toString() + "," + + NumberUtil.round(subDao.getLength(), 2).toString() + "," + + "GSHL-JY100" + "," + + subDao.getDate_of_production() + "," + + jsonPlan.getString("material_type") + "," + + jsonPlan.getString("joint_type") + ); + // 关闭流 + bw.close(); + result.put("message", "打印成功!"); + } catch (Exception e) { + result.put("message", "打印失败!" + e.getMessage()); + } finally { + try { + fw.close(); + } catch (Exception e) { + result.put("message", "打印失败!" + e.getMessage()); + } + } + return result; + } + + @Override + public JSONObject pipeTable(JSONObject whereJson) { + // 返回参数 + JSONObject result = new JSONObject(); + // 基础校验 + String pcsn = whereJson.getString("pcsn"); + if (ObjectUtil.isEmpty(pcsn)) { + throw new BadRequestException("子卷号不能为空!"); + } + + JSONObject jsonPrint = WQLObject.getWQLObject("pdm_bi_printinfo") + .query("print_id = '" + whereJson.getString("print_code") + "' and print_region = '2'") + .uniqueResult(0); + + if (ObjectUtil.isEmpty(jsonPrint)) { + throw new BadRequestException("打印机不能为空!"); + } + + // 根据子卷号查询子卷下线表 + PdmBiContainerinfo subDao = iPdmBiContainerinfoService.getOne( + new QueryWrapper().lambda() + .eq(PdmBiContainerinfo::getContainer_name, pcsn) + ); + if (ObjectUtil.isEmpty(subDao)) { + throw new BadRequestException("未查询到子卷号:" + pcsn + "的子卷下线记录!"); + } + // 找对应的分切计划 + JSONObject jsonPlan = WQLObject.getWQLObject("pdm_bi_slittingproductionplan") + .query("container_name = '" + pcsn + "' and is_delete = '0'") + .uniqueResult(0); + if (ObjectUtil.isEmpty(jsonPlan)) { + throw new BadRequestException("子卷号:" + pcsn + "未查询到分切工单!"); + } + // 找对应的订单bom + PdmBiOrderbominfo orderDao = iPdmBiOrderbominfoService.list( + new QueryWrapper().lambda() + .eq(PdmBiOrderbominfo::getMfgOrder, jsonPlan.getString("mfg_order_name")) + ).stream().findFirst().orElse(null); + + if (ObjectUtil.isEmpty(orderDao)) { + throw new BadRequestException("没有此订单的bom记录:" + jsonPlan.getString("mfg_order_name")); + } + + // 校验信息 + if (ObjectUtil.isEmpty(jsonPlan.getString("paper_weight"))) { + throw new BadRequestException("子卷号:" + pcsn + "子管重量不能为空!(分切计划工单)"); + } + if (ObjectUtil.isEmpty(subDao.getThickness_request()) || ObjectUtil.isEmpty(subDao.getWidth_standard())) { + throw new BadRequestException("子卷号:" + pcsn + "规格不能为空!(子卷下线记录)"); + } + if (ObjectUtil.isEmpty(orderDao.getRollingType())) { + throw new BadRequestException("子卷号:" + pcsn + "毛面/光面不能为空!(订单BOM记录)"); + } + + /* + * 组织标签字段 + */ + // 模版名称 + String LocationOfBTW = "\"" + SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("TWO_PRINT_PIPE").getValue() + "\""; + // 抬头 + String BTW = "%BTW% /AF=" + LocationOfBTW + "/R=3 /PRN=" + "\"" + jsonPrint.getString("print_floder") + "\"" + " /D /P /C=1"; + // 标签类型 + String LabelType = SUBEnum.TABLE_TEMPLE_TYPE.code("管标"); + + /* + * 生成txt文件 + */ + // 远程路径 + String filePath = jsonPrint.getString("print_route") + pcsn + "管标.txt"; + FileWriter fw = null; + + try { + File file = new File(filePath); + if (!file.exists()) { + file.createNewFile(); + } + fw = new FileWriter(filePath); + OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(file), "utf-8"); + BufferedWriter bw = new BufferedWriter(write); + + // 抬头 + bw.write(BTW + "\n"); + bw.write("%END%\n"); + // 须打印的key字段 + bw.write("LabelType,ContainerName,Qty,Thickness,WindingMode\n"); + // 须打印的value值 + bw.write( + LabelType + "," + + subDao.getContainer_name() + "," + + NumberUtil.round(jsonPlan.getString("paper_weight"), 1).toString() + "," + + subDao.getThickness_request() + "x" + subDao.getWidth_standard() + "," + + orderDao.getRollingType() + ); + // 关闭流 + bw.close(); + result.put("message", "打印成功!"); + } catch (Exception e) { + result.put("message", "打印失败!" + e.getMessage()); + } finally { + try { + fw.close(); + } catch (Exception e) { + result.put("message", "打印失败!" + e.getMessage()); + } + } + return result; + } + + @Override + public JSONObject getPrint() { + JSONArray data = WQLObject.getWQLObject("pdm_bi_printinfo") + .query("print_region = '2'") + .getResultJSONArray(0); + + JSONObject result = new JSONObject(); + result.put("message", "查询成功!"); + result.put("data", data); + return result; + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm_manage/enums/SUBEnum.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm_manage/enums/SUBEnum.java index e0b4c0781..bb5521b10 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm_manage/enums/SUBEnum.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm_manage/enums/SUBEnum.java @@ -22,6 +22,12 @@ public enum SUBEnum { // 子卷包装类型 SUB_TYPE(MapOf.of("返检入库", "1", "改切入库", "2")), + + // 标签类型 + TABLE_TYPE(MapOf.of("内标", "1", "管标", "2")), + + // 标签模版类型 + TABLE_TEMPLE_TYPE(MapOf.of( "管标", "4")), ; private Map code; diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java index c9c00466a..e7505e354 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java @@ -14,6 +14,7 @@ import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.nl.b_lms.pda.service.PrintTableTwoService; import org.nl.b_lms.pdm.info.service.IPdmBiContainerinfoService; import org.nl.b_lms.pdm.subpackagerelation.service.IpdmBiSubpackagerelationService; import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; @@ -26,6 +27,9 @@ import org.nl.common.domain.query.PageQuery; import org.nl.common.enums.PackageInfoIvtEnum; 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.ext.mes.service.LmsToMesService; import org.nl.wms.sch.manage.TaskStatusEnum; import org.redisson.api.RLock; @@ -69,6 +73,9 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl Integer.valueOf(TaskStatusEnum.ISSUE.getCode())) { + /* if (taskObj.getIntValue("task_status") > Integer.valueOf(TaskStatusEnum.ISSUE.getCode())) { throw new BadRequestException("任务已执行不能取消"); - } + }*/ // 更新任务表删除字段 map.put("is_delete", IOSEnum.IS_NOTANDYES.code("是")); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoMoveBoxTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoMoveBoxTask.java index 9356bfe7d..48f777417 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoMoveBoxTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoMoveBoxTask.java @@ -50,6 +50,7 @@ public class TwoMoveBoxTask extends AbstractAcsTask { .next_device_code(json.getString("point_code2")) .route_plan_code(getRoutePlanCode(json.getString("point_code2"))) .vehicle_code(json.getString("vehicle_code2")) + .vehicle_code2(json.getString("vehicle_code")) .priority(json.getString("priority")) .class_type(json.getString("task_type")) .dtl_type(String.valueOf(dtl_type)) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutBoxTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutBoxTask.java index 6f226fd6b..fb257da7e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutBoxTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutBoxTask.java @@ -59,7 +59,7 @@ public class TwoOutBoxTask extends AbstractAcsTask { JSONArray arr = taskTab.query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0' order by create_time").getResultJSONArray(0); // 判断当前有多少个正在执行中的任务 - int num = taskTab.query("handle_class = '" + THIS_CLASS + "' and task_status < '" + TaskStatusEnum.FINISHED.getCode() + "' and is_delete ='0'") + int num = taskTab.query("handle_class = '" + THIS_CLASS + "' and task_status IN ('05','06') and is_delete ='0'") .getResultJSONArray(0).size(); // 查询装箱对接位是否有木箱 @@ -89,6 +89,7 @@ public class TwoOutBoxTask extends AbstractAcsTask { .start_device_code(json.getString("point_code1")) .next_device_code(json.getString("point_code2")) .vehicle_code(json.getString("vehicle_code2")) + .vehicle_code2(json.getString("vehicle_code")) .interaction_json(json.getJSONObject("request_param")) .priority(json.getString("priority")) .class_type(json.getString("task_type")) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutExceptionalTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutExceptionalTask.java index 997c7d0b1..5061b75c2 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutExceptionalTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutExceptionalTask.java @@ -51,6 +51,7 @@ public class TwoOutExceptionalTask extends AbstractAcsTask { .start_device_code(json.getString("point_code1")) .next_device_code(json.getString("point_code2")) .vehicle_code(json.getString("vehicle_code2")) + .vehicle_code2(json.getString("vehicle_code")) .priority(json.getString("priority")) .class_type(json.getString("task_type")) .route_plan_code(getRoutePlanCode(json.getString("point_code1"))) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutHeapTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutHeapTask.java index db2f5eef5..c9e91185b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutHeapTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutHeapTask.java @@ -55,6 +55,7 @@ public class TwoOutHeapTask extends AbstractAcsTask { .start_device_code(json.getString("point_code1")) .next_device_code(json.getString("point_code2")) .vehicle_code(json.getString("vehicle_code2")) + .vehicle_code2(json.getString("vehicle_code")) .interaction_json(json.getJSONObject("request_param")) .priority(json.getString("priority")) .class_type(IOSEnum.ACS_TYPE.code("RGV输送任务")) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutTask.java index 2a095a093..feb92aa46 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutTask.java @@ -102,6 +102,7 @@ public class TwoOutTask extends AbstractAcsTask { .start_device_code(json.getString("point_code1")) .next_device_code(json.getString("point_code2")) .vehicle_code(json.getString("vehicle_code2")) + .vehicle_code2(json.getString("vehicle_code")) .interaction_json(json.getJSONObject("request_param")) .route_plan_code(getRoutePlanCode(json.getString("point_code1"))) .priority(json.getString("priority")) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java index 4aaabe58b..38fd25c66 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java @@ -47,6 +47,7 @@ import java.math.BigDecimal; import java.util.*; import java.util.function.Consumer; import java.util.function.Function; +import java.util.stream.Collector; import java.util.stream.Collectors; /** @@ -615,6 +616,17 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl arr2 = taskService.query("handle_class = '" + TwoOutTask.class.getName() + "' and task_status < '" + TaskStatusEnum.FINISHED.getCode() + "' and is_delete ='0'") + .getResultJSONArray(0).toJavaList(JSONObject.class); + + Map> taskGroup = arr2.stream() + .collect(Collectors.groupingBy(row -> row.getString("task_group_id"))); + + if (taskGroup.size() >= 3) { + throw new BadRequestException("当前有三种不同规格的木箱正在出库,请稍后在试!"); + } + /* * 下发任务 * 1.根据木箱 长、宽、高、订单号、物料分组 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/CustomerbaseDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/CustomerbaseDto.java index 1ef28d181..eef63eba6 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/CustomerbaseDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/CustomerbaseDto.java @@ -204,4 +204,9 @@ public class CustomerbaseDto implements Serializable { * 是否自动贴标 */ private String is_auto_table; + + /** + * 内标打印模版 + */ + private String bz_print_within; } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/mdcs.xls b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/mdcs.xls index 20fe0dd0494ff82edd0847751a20aa2b15579f4a..24fd3ca1e9266ce746392f4137f4c543e904f588 100644 GIT binary patch delta 11386 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 V&M>0TRkVEI*;fgI-#x~-{SW9d7gGQL diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_STRUCTIVT001.wql b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_STRUCTIVT001.wql index 8baf701e4..f6d404c6f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_STRUCTIVT001.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_STRUCTIVT001.wql @@ -90,7 +90,7 @@ WHEN DATEDIFF( NOW(), sub.date_of_production ) > '90' THEN '3' END END AS sub_type, - DATEDIFF( NOW(), sub.date_of_production ) AS stock_age, + DATEDIFF( NOW(), dis.confirm_time ) AS stock_age, sub.joint_type, dis.confirm_time @@ -118,14 +118,19 @@ GROUP BY container_name) plan ON plan.container_name = sub.container_name LEFT JOIN ( SELECT - MIN( mst.confirm_time ) AS confirm_time, + ( + CASE + WHEN MAX(mst.bill_type) = '0001' THEN MIN( mst.confirm_time ) + ELSE MAX( mst.confirm_time ) + END + ) AS confirm_time, dis.pcsn FROM st_ivt_iostorinvdis dis LEFT JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id WHERE mst.io_type = '0' - AND mst.bill_type = '0001' + AND mst.bill_type IN ('0001','0006','0007') AND mst.is_delete = '0' GROUP BY dis.pcsn @@ -268,7 +273,7 @@ WHEN DATEDIFF( NOW(), sub.date_of_production ) > '90' THEN '3' END END AS sub_type, - DATEDIFF( NOW(), ivt.instorage_time ) AS stock_age, + DATEDIFF( NOW(), dis.confirm_time ) AS stock_age, sub.joint_type, dis.confirm_time FROM @@ -296,16 +301,21 @@ GROUP BY container_name) plan ON plan.container_name = sub.container_name LEFT JOIN ( SELECT - MIN( mst.confirm_time ) AS confirm_time, + ( + CASE + WHEN MAX(mst.bill_type) = '0001' THEN MIN( mst.confirm_time ) + ELSE MAX( mst.confirm_time ) + END + ) AS confirm_time, dis.pcsn FROM st_ivt_iostorinvdis dis LEFT JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id WHERE mst.io_type = '0' - AND mst.bill_type = '0001' + AND mst.bill_type IN ( '0001', '0006', '0007' ) AND mst.is_delete = '0' - GROUP BY + GROUP BY dis.pcsn ) dis ON dis.pcsn = ivt.pcsn WHERE diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/wql/PDA_ST_01.wql b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/wql/PDA_ST_01.wql index cc0d3a3e9..d2776ae4f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/wql/PDA_ST_01.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/wql/PDA_ST_01.wql @@ -204,6 +204,8 @@ print_name AS text FROM pdm_bi_printinfo + WHERE + print_region = '1' ENDSELECT ENDQUERY ENDIF 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 32ed5530d59c9ffb6b3c23d9187738ff423bced5..d27901fcc5a74acdbd6352fbb8728bea3bfa6d28 100644 GIT binary patch delta 25066 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%0A`%0aV)8aqc- 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 T!|hRP>}>8?ka|O#YW4pBN2jB| diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsTaskDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsTaskDto.java index e6ee2a257..705eff5f3 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsTaskDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsTaskDto.java @@ -43,6 +43,10 @@ public class AcsTaskDto { * 载具号 */ private String vehicle_code; + /** + * 载具号2 + */ + private String vehicle_code2; /** * 任务类型 */ diff --git a/lms/nladmin-ui/src/views/wms/basedata/master/customer/index.vue b/lms/nladmin-ui/src/views/wms/basedata/master/customer/index.vue index 642171082..9530eace0 100644 --- a/lms/nladmin-ui/src/views/wms/basedata/master/customer/index.vue +++ b/lms/nladmin-ui/src/views/wms/basedata/master/customer/index.vue @@ -141,6 +141,27 @@ + + + + + + + + + @@ -171,6 +192,7 @@ + @@ -256,11 +278,12 @@ const defaultForm = { bz_print_no: null, shd_print_no: null, is_auto_table: '1', + bz_print_within: null, sales_owner: null } export default { name: 'Customerbase', - dicts: ['is_used', 'print_temple'], + dicts: ['is_used', 'print_temple', 'two_print_temple'], components: { pagination, crudOperation, rrOperation, udOperation, Treeselect }, mixins: [presenter(), header(), form(defaultForm), crud()], cruds() { @@ -387,6 +410,9 @@ export default { printTemple(row) { return this.dict.label.print_temple[row.bz_print_no] }, + printTemple2(row) { + return this.dict.label.two_print_temple[row.bz_print_within] + }, autoTable(row) { return this.dict.label.is_used[row.is_auto_table] } diff --git a/lms/nladmin-ui/src/views/wms/basedata/st/ivt/index.vue b/lms/nladmin-ui/src/views/wms/basedata/st/ivt/index.vue index 64c3d5ca2..be4b14f04 100644 --- a/lms/nladmin-ui/src/views/wms/basedata/st/ivt/index.vue +++ b/lms/nladmin-ui/src/views/wms/basedata/st/ivt/index.vue @@ -257,6 +257,7 @@ +