From 4437d06c96a3d6fa487bd7fd0831c2259b7948a0 Mon Sep 17 00:00:00 2001 From: pzj Date: Sun, 29 Sep 2024 20:15:17 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A3=85=E9=85=8D=E4=BB=B6=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E3=80=81=E5=8F=91=E8=BF=90=E6=98=8E=E7=BB=86=E6=8A=A5=E8=A1=A8?= =?UTF-8?q?=E3=80=81=E5=8F=AF=E7=96=91=E5=93=81=E6=9D=A1=E7=A0=81=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E3=80=81=E6=A3=80=E9=AA=8C=E4=BA=A7=E5=93=81=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=AD=90=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../busi/report/IAssemblyPartReportService.java | 16 ++ .../report/IProductInspectionSubReportService.java | 16 ++ .../busi/report/IShipmentDetailReportService.java | 16 ++ .../ISuspiciousItemBarcodeReportService.java | 16 ++ .../report/AssemblyPartReportController.java | 46 +++++ .../ProductInspectionSubReportController.java | 48 ++++++ .../report/ShipmentDetailReportController.java | 48 ++++++ .../SuspiciousItemBarcodeReportController.java | 48 ++++++ .../dao/report/IAssemblyPartReportDao.java | 16 ++ .../dao/report/IProductInspectionSubReportDao.java | 16 ++ .../dao/report/IShipmentDetailReportDao.java | 16 ++ .../report/ISuspiciousItemBarcodeReportDao.java | 16 ++ .../daoimpl/report/AssemblyPartReportDaoImpl.java | 192 +++++++++++++++++++++ .../report/ProductInspectionSubReportDaoImpl.java | 100 +++++++++++ .../report/ShipmentDetailReportDaoImpl.java | 175 +++++++++++++++++++ .../report/SuspiciousItemBarcodeReportDaoImpl.java | 181 +++++++++++++++++++ .../report/AssemblyPartReportServiceImpl.java | 31 ++++ .../ProductInspectionSubReportServiceImpl.java | 30 ++++ .../report/ShipmentDetailReportServiceImpl.java | 29 ++++ .../SuspiciousItemBarcodeReportServiceImpl.java | 29 ++++ 20 files changed, 1085 insertions(+) create mode 100644 modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/report/IAssemblyPartReportService.java create mode 100644 modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/report/IProductInspectionSubReportService.java create mode 100644 modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/report/IShipmentDetailReportService.java create mode 100644 modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/report/ISuspiciousItemBarcodeReportService.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/report/AssemblyPartReportController.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/report/ProductInspectionSubReportController.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/report/ShipmentDetailReportController.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/report/SuspiciousItemBarcodeReportController.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IAssemblyPartReportDao.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IProductInspectionSubReportDao.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IShipmentDetailReportDao.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/ISuspiciousItemBarcodeReportDao.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/AssemblyPartReportDaoImpl.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/ProductInspectionSubReportDaoImpl.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/ShipmentDetailReportDaoImpl.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/SuspiciousItemBarcodeReportDaoImpl.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/AssemblyPartReportServiceImpl.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/ProductInspectionSubReportServiceImpl.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/ShipmentDetailReportServiceImpl.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/SuspiciousItemBarcodeReportServiceImpl.java diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/report/IAssemblyPartReportService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/report/IAssemblyPartReportService.java new file mode 100644 index 0000000..3cb2e9f --- /dev/null +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/report/IAssemblyPartReportService.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.ext.mes.api.busi.report; + +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.mes.model.report.AssemblyPartReportModel; + +/** + * @Description : + * @Reference : + * @Author : PZJ + * @CreateDate : 2024/9/29 10:20 + * @Modify: + **/ +public interface IAssemblyPartReportService { + ListPager queryReport(AssemblyPartReportModel model, Pager pager); +} diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/report/IProductInspectionSubReportService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/report/IProductInspectionSubReportService.java new file mode 100644 index 0000000..2a97fb6 --- /dev/null +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/report/IProductInspectionSubReportService.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.ext.mes.api.busi.report; + +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.mes.bean.MesQmsSuspicious; + +/** + * @Description : 检验产品数据子报表 + * @Reference : + * @Author : PZJ + * @CreateDate : 2024/9/29 13:50 + * @Modify: + **/ +public interface IProductInspectionSubReportService { + ListPager queryReport(MesQmsSuspicious model, Pager pager); +} diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/report/IShipmentDetailReportService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/report/IShipmentDetailReportService.java new file mode 100644 index 0000000..d65d089 --- /dev/null +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/report/IShipmentDetailReportService.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.ext.mes.api.busi.report; + +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.mes.model.report.ShippingReportModel; + +/** + * @Description : 发运明细报表 接口 + * @Reference : + * @Author : PZJ + * @CreateDate : 2024/9/29 9:49 + * @Modify: + **/ +public interface IShipmentDetailReportService { + ListPager queryReport(ShippingReportModel model, Pager pager); +} diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/report/ISuspiciousItemBarcodeReportService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/report/ISuspiciousItemBarcodeReportService.java new file mode 100644 index 0000000..cdea57a --- /dev/null +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/busi/report/ISuspiciousItemBarcodeReportService.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.ext.mes.api.busi.report; + +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.mes.model.report.SuspiciousItemBarcodeReportModel; + +/** + * @Description : 可疑品条码信息报表 + * @Reference : + * @Author : PZJ + * @CreateDate : 2024/9/28 19:27 + * @Modify: + **/ +public interface ISuspiciousItemBarcodeReportService { + ListPager queryReport(SuspiciousItemBarcodeReportModel model, Pager pager); +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/report/AssemblyPartReportController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/report/AssemblyPartReportController.java new file mode 100644 index 0000000..da017d9 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/report/AssemblyPartReportController.java @@ -0,0 +1,46 @@ +package cn.estsh.i3plus.ext.mes.apiservice.controller.report; + +import cn.estsh.i3plus.ext.mes.api.busi.report.IAssemblyPartReportService; +import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.pojo.mes.model.report.AssemblyPartReportModel; +import cn.estsh.impp.framework.boot.auth.AuthUtil; +import cn.estsh.impp.framework.boot.exception.ImppBusiException; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.ResultBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @Description : 装配件报表 + * @Reference : + * @Author : PZJ + * @CreateDate : 2024/9/29 10:17 + * @Modify: + **/ +@Api("装配件报表") +@RestController +@RequestMapping(MesCommonConstant.MES_YANFEN + "/assembly-part-report") +public class AssemblyPartReportController { + + @Autowired + private IAssemblyPartReportService assemblyPartReportService; + + @ApiOperation(value = "装配件报表") + @PostMapping("/queryReport") + public ResultBean queryReport(AssemblyPartReportModel model, Pager pager) { + try { + model.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode()); + ListPager result = assemblyPartReportService.queryReport(model,pager); + return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setListPager(result); + } catch (ImppBusiException e) { + return ResultBean.fail(e); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/report/ProductInspectionSubReportController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/report/ProductInspectionSubReportController.java new file mode 100644 index 0000000..309d10b --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/report/ProductInspectionSubReportController.java @@ -0,0 +1,48 @@ +package cn.estsh.i3plus.ext.mes.apiservice.controller.report; + +import cn.estsh.i3plus.ext.mes.api.busi.report.IProductInspectionSubReportService; +import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.pojo.mes.bean.MesQmsSuspicious; +import cn.estsh.impp.framework.boot.auth.AuthUtil; +import cn.estsh.impp.framework.boot.exception.ImppBusiException; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.ResultBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description : 检验产品数据子报表 + * @Reference : + * @Author : PZJ + * @CreateDate : 2024/9/29 13:48 + * @Modify: + **/ +@Api("检验产品数据子报表") +@RestController +@RequestMapping(MesCommonConstant.MES_YANFEN + "/product-inspection-sub-report") +public class ProductInspectionSubReportController { + + @Autowired + private IProductInspectionSubReportService productInspectionSubReportService; + + @ApiOperation(value = "检验产品数据子报表") + @PostMapping("/queryReport") + public ResultBean queryReport(MesQmsSuspicious model, Pager pager) { + try { + model.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode()); + ListPager result = productInspectionSubReportService.queryReport(model,pager); + return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setListPager(result); + } catch (ImppBusiException e) { + return ResultBean.fail(e); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/report/ShipmentDetailReportController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/report/ShipmentDetailReportController.java new file mode 100644 index 0000000..d00f851 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/report/ShipmentDetailReportController.java @@ -0,0 +1,48 @@ +package cn.estsh.i3plus.ext.mes.apiservice.controller.report; + +import cn.estsh.i3plus.ext.mes.api.busi.report.IShipmentDetailReportService; +import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.pojo.mes.model.report.ShippingReportModel; +import cn.estsh.impp.framework.boot.auth.AuthUtil; +import cn.estsh.impp.framework.boot.exception.ImppBusiException; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.ResultBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description : 发运明细报表 + * @Reference : + * @Author : PZJ + * @CreateDate : 2024/9/29 9:47 + * @Modify: + **/ +@Api("发运明细报表") +@RestController +@RequestMapping(MesCommonConstant.MES_YANFEN + "/shipment-detail-Report") +public class ShipmentDetailReportController { + + @Autowired + private IShipmentDetailReportService shipmentDetailReportService; + + @ApiOperation(value = "发运明细报表") + @PostMapping("/queryReport") + public ResultBean queryReport(ShippingReportModel model, Pager pager) { + try { + model.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode()); + ListPager result = shipmentDetailReportService.queryReport(model,pager); + return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setListPager(result); + } catch (ImppBusiException e) { + return ResultBean.fail(e); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/report/SuspiciousItemBarcodeReportController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/report/SuspiciousItemBarcodeReportController.java new file mode 100644 index 0000000..085e40d --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/report/SuspiciousItemBarcodeReportController.java @@ -0,0 +1,48 @@ +package cn.estsh.i3plus.ext.mes.apiservice.controller.report; + +import cn.estsh.i3plus.ext.mes.api.busi.report.ISuspiciousItemBarcodeReportService; +import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.pojo.mes.model.report.SuspiciousItemBarcodeReportModel; +import cn.estsh.impp.framework.boot.auth.AuthUtil; +import cn.estsh.impp.framework.boot.exception.ImppBusiException; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.ResultBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description :可疑品条码信息报表 + * @Reference : + * @Author : PZJ + * @CreateDate : 2024/9/28 18:53 + * @Modify: + **/ +@Api("可疑品条码信息报表") +@RestController +@RequestMapping(MesCommonConstant.MES_YANFEN + "/suspicious-item-barcode-report") +public class SuspiciousItemBarcodeReportController { + + @Autowired + private ISuspiciousItemBarcodeReportService suspiciousItemBarcodeReportService; + + @ApiOperation(value = "查询可疑品条码信息报表") + @PostMapping("/queryReport") + public ResultBean queryReport(SuspiciousItemBarcodeReportModel model, Pager pager) { + try { + model.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode()); + ListPager result = suspiciousItemBarcodeReportService.queryReport(model,pager); + return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setListPager(result); + } catch (ImppBusiException e) { + return ResultBean.fail(e); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IAssemblyPartReportDao.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IAssemblyPartReportDao.java new file mode 100644 index 0000000..eed77fa --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IAssemblyPartReportDao.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.ext.mes.apiservice.dao.report; + +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.mes.model.report.AssemblyPartReportModel; + +/** + * @Description : 装配件查询 + * @Reference : + * @Author : PZJ + * @CreateDate : 2024/9/29 10:21 + * @Modify: + **/ +public interface IAssemblyPartReportDao { + ListPager queryReport(AssemblyPartReportModel model, Pager pager); +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IProductInspectionSubReportDao.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IProductInspectionSubReportDao.java new file mode 100644 index 0000000..7a98f3b --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IProductInspectionSubReportDao.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.ext.mes.apiservice.dao.report; + +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.mes.bean.MesQmsSuspicious; + +/** + * @Description : 检验产品数据子报表 + * @Reference : + * @Author : PZJ + * @CreateDate : 2024/9/29 13:51 + * @Modify: + **/ +public interface IProductInspectionSubReportDao { + ListPager queryReport(MesQmsSuspicious model, Pager pager); +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IShipmentDetailReportDao.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IShipmentDetailReportDao.java new file mode 100644 index 0000000..6bffa26 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IShipmentDetailReportDao.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.ext.mes.apiservice.dao.report; + +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.mes.model.report.ShippingReportModel; + +/** + * @Description : 发运明细报表 Dao + * @Reference : + * @Author : PZJ + * @CreateDate : 2024/9/29 9:53 + * @Modify: + **/ +public interface IShipmentDetailReportDao { + ListPager queryReport(ShippingReportModel model, Pager pager); +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/ISuspiciousItemBarcodeReportDao.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/ISuspiciousItemBarcodeReportDao.java new file mode 100644 index 0000000..415c67c --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/ISuspiciousItemBarcodeReportDao.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.ext.mes.apiservice.dao.report; + +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.mes.model.report.SuspiciousItemBarcodeReportModel; + +/** + * @Description : 可疑品条码信息报表 + * @Reference : + * @Author : PZJ + * @CreateDate : 2024/9/28 19:45 + * @Modify: + **/ +public interface ISuspiciousItemBarcodeReportDao { + ListPager queryReport(SuspiciousItemBarcodeReportModel model, Pager pager); +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/AssemblyPartReportDaoImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/AssemblyPartReportDaoImpl.java new file mode 100644 index 0000000..0b50f35 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/AssemblyPartReportDaoImpl.java @@ -0,0 +1,192 @@ +package cn.estsh.i3plus.ext.mes.apiservice.daoimpl.report; + +import cn.estsh.i3plus.ext.mes.apiservice.dao.report.IAssemblyPartReportDao; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.common.PagerHelper; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.mes.model.report.AssemblyPartReportModel; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import javax.persistence.EntityManager; +import javax.persistence.Query; +import java.util.List; + +/** + * @Description : 装配件查询 + * @Reference : + * @Author : PZJ + * @CreateDate : 2024/9/29 10:21 + * @Modify: + **/ +@Service +public class AssemblyPartReportDaoImpl implements IAssemblyPartReportDao { + @Autowired + private EntityManager entityManager; + + @Override + public ListPager queryReport(AssemblyPartReportModel model, Pager pager) { + StringBuilder dataQueryHql = new StringBuilder(); + dataQueryHql.append("SELECT new ").append(AssemblyPartReportModel.class.getName()).append("("); + dataQueryHql.append("mes_production_assembly.serialNumber AS serialNumber,"); + dataQueryHql.append("mes_production_assembly.workCenterCode AS workCenterCode,"); + dataQueryHql.append("mes_production_assembly.workCellCode AS workCellCode,"); + dataQueryHql.append("mes_production_assembly.partNo AS partNo,"); + dataQueryHql.append("mes_production_assembly.partName AS partName,"); + dataQueryHql.append("mes_production_assembly.matchType AS matchType,"); + dataQueryHql.append("mes_production_assembly.matchRule AS matchRule,"); + dataQueryHql.append("mes_production_assembly.assemblyPartNo AS assemblyPartNo,"); + dataQueryHql.append("mes_production_assembly.assemblyPartName AS assemblyPartName,"); + dataQueryHql.append("mes_production_assembly.assemblySn AS assemblySn,"); + dataQueryHql.append("mes_production_assembly.isSkip AS isSkip,"); + dataQueryHql.append("mes_production_assembly.createDatetime AS createDatetime,"); + dataQueryHql.append("mes_production_assembly.createUser AS createUser,"); + dataQueryHql.append("mes_production_record.workOrderNo AS workOrderNo,"); + dataQueryHql.append("mes_production_record.lotNo AS lotNo,"); + dataQueryHql.append("mes_equipment.equipmentName AS equipmentName)"); + + StringBuilder countQueryHql= new StringBuilder(); + countQueryHql.append("select count(1)"); + + StringBuilder commonQueryHql = new StringBuilder(); + commonQueryHql.append("FROM MesProductionAssembly mes_production_assembly "); + commonQueryHql.append("JOIN MesProductionRecord mes_production_record ON mes_production_assembly.productionRecordId = mes_production_record.id "); + commonQueryHql.append("JOIN MesEquipment mes_equipment ON mes_production_record.equipmentCode = mes_equipment.equipmentCode "); + commonQueryHql.append("WHERE 1=1 "); + commonQueryHql.append("AND mes_production_assembly.organizeCode = :organizeCode "); + commonQueryHql.append("AND mes_production_record.organizeCode = :organizeCode "); + commonQueryHql.append("AND mes_equipment.organizeCode = :organizeCode "); + commonQueryHql.append("AND mes_production_assembly.isDeleted = :isDeleted "); + commonQueryHql.append("AND mes_production_record.isDeleted = :isDeleted "); + commonQueryHql.append("AND mes_equipment.isDeleted = :isDeleted "); + commonQueryHql.append("AND mes_production_assembly.isValid = :isValid "); + commonQueryHql.append("AND mes_production_record.isValid = :isValid "); + commonQueryHql.append("AND mes_equipment.isValid = :isValid "); + // like 条码 + if(!StringUtils.isEmpty(model.getSerialNumber())){ + commonQueryHql.append("AND mes_production_assembly.serialNumber like :serialNumber "); + } + // = 装配件条码确认规则 + if (model.getMatchType()!=null){ + commonQueryHql.append("AND mes_production_assembly.matchType = :matchType "); + } + // like 零件号 + if(!StringUtils.isEmpty(model.getPartNo())){ + commonQueryHql.append("AND mes_production_assembly.partNo like :partNo "); + } + //like 主零件号 + if(!StringUtils.isEmpty(model.getPartName())){ + commonQueryHql.append("AND mes_production_assembly.partName like :partName "); + } + //like 装配零件号 + if(!StringUtils.isEmpty(model.getAssemblyPartNo())){ + commonQueryHql.append("AND mes_production_assembly.assemblyPartNo like :assemblyPartNo "); + } + //like 装配件零件名称 + if(!StringUtils.isEmpty(model.getAssemblyPartName())){ + commonQueryHql.append("AND mes_production_assembly.assemblyPartName like :assemblyPartName "); + } + //like 装配条码 + if(!StringUtils.isEmpty(model.getAssemblySn())){ + commonQueryHql.append("AND mes_production_assembly.assemblySn like :assemblySn "); + } + // = 是否跳过 + if(model.getIsSkip() != null){ + commonQueryHql.append("AND mes_production_assembly.isSkip = :isSkip "); + } + //like 创建人 + if(!StringUtils.isEmpty(model.getCreateUser())){ + commonQueryHql.append("AND mes_production_assembly.createUser like :createUser "); + } + //范围时间 创建时间 + if (!StringUtils.isEmpty(model.getCreateDateTimeStart()) && !StringUtils.isEmpty(model.getCreateDateTimeEnd())){ + commonQueryHql.append("AND mes_production_assembly.createDatetime between :createDateTimeStart and :createDateTimeEnd "); + } + //like 产线 + if(!StringUtils.isEmpty(model.getWorkCenterCode())){ + commonQueryHql.append("AND mes_production_assembly.workCenterCode like :workCenterCode "); + } + //like 工位编号 + if(!StringUtils.isEmpty(model.getWorkCellCode())){ + commonQueryHql.append("AND mes_production_assembly.workCellCode like :workCellCode "); + } + //= 扫描类型 +// if (!StringUtils.isEmpty(model.getScanType())){ +// commonQueryHql.append("AND mes_production_assembly.scanType = :scanType "); +// } + //like 加工单号 + if(!StringUtils.isEmpty(model.getWorkOrderNo())){ + commonQueryHql.append("AND mes_production_record.workOrderNo like :workOrderNo "); + } + //like 设备名称 + if(!StringUtils.isEmpty(model.getEquipmentName())){ + commonQueryHql.append("AND mes_equipment.equipmentName like :equipmentName "); + } + commonQueryHql.append("ORDER BY mes_production_assembly.createDatetime DESC "); + + Query dataQuery = entityManager.createQuery(dataQueryHql.append(commonQueryHql).toString(), AssemblyPartReportModel.class); + setQueryParams(dataQuery, model); + Query countQuery = entityManager.createQuery(countQueryHql.append(commonQueryHql).toString()); + setQueryParams(countQuery, model); + + //本次查询满足条件的总数 + int count = Integer.parseInt(String.valueOf(countQuery.getSingleResult())); + pager = PagerHelper.getPager(pager, count); + //查询本页数据 + dataQuery.setMaxResults(pager.getPageSize()); + dataQuery.setFirstResult(pager.getCurrentPage() * pager.getPageSize() - pager.getPageSize()); + List resultList = dataQuery.getResultList(); + return new ListPager<>(resultList, pager); + } + + private void setQueryParams(Query dataQuery, AssemblyPartReportModel model) { + dataQuery.setParameter("organizeCode", model.getOrganizeCode()); + dataQuery.setParameter("isDeleted", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); + dataQuery.setParameter("isValid", CommonEnumUtil.IS_VAILD.VAILD.getValue()); + if(!StringUtils.isEmpty(model.getSerialNumber())){ + dataQuery.setParameter("serialNumber", model.getSerialNumber() + "%"); + } + if (model.getMatchType()!=null){ + dataQuery.setParameter("matchType", model.getMatchType()); + } + if(!StringUtils.isEmpty(model.getPartNo())){ + dataQuery.setParameter("partNo", model.getPartNo() + "%"); + } + if(!StringUtils.isEmpty(model.getPartName())){ + dataQuery.setParameter("partName", model.getPartName() + "%"); + } + if(!StringUtils.isEmpty(model.getAssemblyPartNo())){ + dataQuery.setParameter("assemblyPartNo", model.getAssemblyPartNo() + "%"); + } + if(!StringUtils.isEmpty(model.getAssemblyPartName())){ + dataQuery.setParameter("assemblyPartName", model.getAssemblyPartName() + "%"); + } + if(!StringUtils.isEmpty(model.getAssemblySn())){ + dataQuery.setParameter("assemblySn", model.getAssemblySn() + "%"); + } + if(model.getIsSkip() != null){ + dataQuery.setParameter("isSkip", model.getIsSkip()); + } + if(!StringUtils.isEmpty(model.getCreateUser())){ + dataQuery.setParameter("createUser", model.getCreateUser() + "%"); + } + if (!StringUtils.isEmpty(model.getCreateDateTimeStart()) && !StringUtils.isEmpty(model.getCreateDateTimeEnd())){ + dataQuery.setParameter("createDateTimeStart", model.getCreateDateTimeStart()); + dataQuery.setParameter("createDateTimeEnd", model.getCreateDateTimeEnd()); + } + if(!StringUtils.isEmpty(model.getWorkCenterCode())){ + dataQuery.setParameter("workCenterCode", model.getWorkCenterCode() + "%"); + } + if(!StringUtils.isEmpty(model.getWorkCellCode())){ + dataQuery.setParameter("workCellCode", model.getWorkCellCode() + "%"); + } + if(!StringUtils.isEmpty(model.getWorkOrderNo())){ + dataQuery.setParameter("workOrderNo", model.getWorkOrderNo() + "%"); + } + if(!StringUtils.isEmpty(model.getEquipmentName())){ + dataQuery.setParameter("equipmentName", model.getEquipmentName() + "%"); + } + } +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/ProductInspectionSubReportDaoImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/ProductInspectionSubReportDaoImpl.java new file mode 100644 index 0000000..32e7530 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/ProductInspectionSubReportDaoImpl.java @@ -0,0 +1,100 @@ +package cn.estsh.i3plus.ext.mes.apiservice.daoimpl.report; + +import cn.estsh.i3plus.ext.mes.apiservice.dao.report.IProductInspectionSubReportDao; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.common.PagerHelper; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.mes.bean.MesQmsSuspicious; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import javax.persistence.EntityManager; +import javax.persistence.Query; +import java.util.List; + +/** + * @Description : 检验产品数据子报表 + * @Reference : + * @Author : PZJ + * @CreateDate : 2024/9/29 13:51 + * @Modify: + **/ +@Service +public class ProductInspectionSubReportDaoImpl implements IProductInspectionSubReportDao { + + @Autowired + private EntityManager entityManager; + + @Override + public ListPager queryReport(MesQmsSuspicious model, Pager pager) { + StringBuilder dataQueryHql = new StringBuilder(); + StringBuilder countQueryHql= new StringBuilder(); + StringBuilder commonQueryHql = new StringBuilder(); + dataQueryHql.append("select new ") + .append(MesQmsSuspicious.class.getName()).append(" ( "); + dataQueryHql.append("mes_qms_suspicious.inspectionDate AS inspectionDate,"); + dataQueryHql.append("mes_qms_suspicious.partNo AS partNo,"); + dataQueryHql.append("mes_qms_suspicious.partName AS partName,"); + dataQueryHql.append("mes_qms_suspicious.inspectionQty AS inspectionQty,"); + dataQueryHql.append("mes_qms_suspicious.qualifiedQty AS qualifiedQty,"); + dataQueryHql.append("mes_qms_suspicious.unqualifiedQty AS unqualifiedQty,"); + dataQueryHql.append("mes_qms_suspicious.misjudgmentQty AS misjudgmentQty,"); + dataQueryHql.append("mes_qms_suspicious.scrappedQty AS scrappedQty,"); + dataQueryHql.append("mes_qms_suspicious.reworkQualified AS reworkQualified,"); + dataQueryHql.append("mes_qms_suspicious.reworkScrapped AS reworkScrapped,"); + dataQueryHql.append("mes_qms_suspicious.reworkQty AS reworkQty,"); + dataQueryHql.append("CASE WHEN inspectionQty = 0 THEN 0 ELSE (qualifiedQty / inspectionQty * 100) END AS firstPassRate,"); + dataQueryHql.append("CASE WHEN inspectionQty = 0 THEN 0 ELSE (unqualifiedQty / inspectionQty * 100) END AS defectRate,"); + dataQueryHql.append("CASE WHEN inspectionQty = 0 THEN 0 ELSE ((qualifiedQty + misjudgmentQty + reworkQualified) / inspectionQty * 100) END AS finalPassRate,"); + dataQueryHql.append("CASE WHEN inspectionQty = 0 THEN 0 ELSE ((scrappedQty + reworkScrapped) / inspectionQty * 100) END AS finalScrapRate,"); + dataQueryHql.append("mes_qms_suspicious.organizeCode AS organizeCode"); + dataQueryHql.append(") "); + + countQueryHql.append("select count(1) "); + + commonQueryHql.append("FROM MesQmsSuspicious mes_qms_suspicious "); + commonQueryHql.append("WHERE 1=1 "); + commonQueryHql.append("AND mes_qms_suspicious.organizeCode = :organizeCode "); + commonQueryHql.append("AND mes_qms_suspicious.isDeleted = :isDeleted "); + commonQueryHql.append("AND mes_qms_suspicious.isValid = :isValid "); + if (!StringUtils.isEmpty(model.getCreateDateTimeStart()) && !StringUtils.isEmpty(model.getCreateDateTimeEnd())){ + commonQueryHql.append("AND mes_qms_suspicious.createDatetime BETWEEN :createDateTimeStart AND :createDateTimeEnd "); + } + if(!StringUtils.isEmpty(model.getPartName())){ + commonQueryHql.append("AND mes_qms_suspicious.partName like :partName "); + } + if(!StringUtils.isEmpty(model.getPartNo())){ + commonQueryHql.append("AND mes_qms_suspicious.partNo like :partNo "); + } + + Query dataQuery = entityManager.createQuery(dataQueryHql.append(commonQueryHql).toString(), MesQmsSuspicious.class); + setQueryParams(dataQuery, model); + Query countQuery = entityManager.createQuery(countQueryHql.append(commonQueryHql).toString()); + setQueryParams(countQuery, model); + + int count = Integer.parseInt(String.valueOf(countQuery.getSingleResult())); + pager = PagerHelper.getPager(pager, count); + dataQuery.setMaxResults(pager.getPageSize()); + dataQuery.setFirstResult(pager.getCurrentPage() * pager.getPageSize() - pager.getPageSize()); + List resultList = dataQuery.getResultList(); + return new ListPager<>(resultList, pager); + } + + private void setQueryParams(Query dataQuery, MesQmsSuspicious model) { + dataQuery.setParameter("organizeCode", model.getOrganizeCode()); + dataQuery.setParameter("isDeleted", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); + dataQuery.setParameter("isValid", CommonEnumUtil.IS_VAILD.VAILD.getValue()); + if (!StringUtils.isEmpty(model.getCreateDateTimeStart()) && !StringUtils.isEmpty(model.getCreateDateTimeEnd())){ + dataQuery.setParameter("createDateTimeStart", model.getCreateDateTimeStart()); + dataQuery.setParameter("createDateTimeEnd", model.getCreateDateTimeEnd()); + } + if(!StringUtils.isEmpty(model.getPartName())){ + dataQuery.setParameter("partName", model.getPartName() + "%"); + } + if(!StringUtils.isEmpty(model.getPartNo())){ + dataQuery.setParameter("partNo", model.getPartNo() + "%"); + } + } +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/ShipmentDetailReportDaoImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/ShipmentDetailReportDaoImpl.java new file mode 100644 index 0000000..e84f57e --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/ShipmentDetailReportDaoImpl.java @@ -0,0 +1,175 @@ +package cn.estsh.i3plus.ext.mes.apiservice.daoimpl.report; + +import cn.estsh.i3plus.ext.mes.apiservice.dao.report.IShipmentDetailReportDao; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.common.PagerHelper; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.mes.model.report.ShippingReportModel; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import javax.persistence.EntityManager; +import javax.persistence.Query; +import java.util.List; + +/** + * @Description : 发运明细报表 Dao实现 + * @Reference : + * @Author : PZJ + * @CreateDate : 2024/9/29 9:53 + * @Modify: + **/ +@Service +public class ShipmentDetailReportDaoImpl implements IShipmentDetailReportDao { + + @Autowired + private EntityManager entityManager; + + @Override + public ListPager queryReport(ShippingReportModel model, Pager pager) { + StringBuilder dataQueryHql = new StringBuilder(); + StringBuilder countQueryHql = new StringBuilder(); + StringBuilder commonQueryHql = new StringBuilder(); + + dataQueryHql.append("select new ").append(ShippingReportModel.class.getName()).append(" ( "); + + // 添加所有需要查询的字段 + dataQueryHql.append("momd.createDatetime AS createDate,"); + dataQueryHql.append("momd.createUser AS createUser,"); + dataQueryHql.append("momd.isValid AS isValid,"); + dataQueryHql.append("momd.isDeleted AS isDeleted,"); + dataQueryHql.append("momd.modifyDatetime AS modifyDate,"); + dataQueryHql.append("momd.modifyUser AS modifyUser,"); + dataQueryHql.append("momd.organizeCode AS organizeCode,"); + dataQueryHql.append("momd.actualQty AS actualQty,"); + dataQueryHql.append("momd.custInfoSeq AS custInfoSeq,"); + dataQueryHql.append("momd.custOrderNo AS custOrderNo,"); + dataQueryHql.append("momd.custPartNo AS custPartNo,"); + dataQueryHql.append("momd.logicSeq AS logicSeq,"); + dataQueryHql.append("momd.paidQty AS paidQty,"); + dataQueryHql.append("momd.partName AS partName,"); + dataQueryHql.append("momd.partNo AS partNo,"); + dataQueryHql.append("momd.planQty AS planQty,"); + dataQueryHql.append("momd.status AS dStatus,"); + dataQueryHql.append("momd.supplierCode AS supplierCode,"); + dataQueryHql.append("momd.unit AS dUnit,"); + dataQueryHql.append("momd.barcode AS barCode,"); + dataQueryHql.append("momd.vin AS vin,"); + dataQueryHql.append("momd.assyCode AS assyCode,"); + dataQueryHql.append("momd.carSerialCode AS carSerialCode,"); + + dataQueryHql.append("ms.checkSeqCode AS checkSeqCode,"); + dataQueryHql.append("ms.custCode AS custCode,"); + dataQueryHql.append("ms.custDockCode AS custDockCode,"); + dataQueryHql.append("ms.custOrganizeCode AS custOrganizeCode,"); + dataQueryHql.append("ms.custName AS custName,"); + dataQueryHql.append("ms.custOrganizeName AS custOrganizeName,"); + dataQueryHql.append("ms.dateSource AS dateSource,"); + dataQueryHql.append("ms.endScanTime AS endScanTime,"); + dataQueryHql.append("ms.lastPrintTime AS lastPrintTime,"); + dataQueryHql.append("ms.lastPrintUser AS lastPrintUser,"); + dataQueryHql.append("ms.printCount AS printCount,"); + dataQueryHql.append("ms.publishFlag AS publishFlag,"); + dataQueryHql.append("ms.publishTime AS publishTime,"); + dataQueryHql.append("ms.rackNo AS rackNo,"); + dataQueryHql.append("ms.roadProcess AS roadProcess,"); + dataQueryHql.append("ms.sendDockCode AS sendDockCode,"); + dataQueryHql.append("ms.seq AS seq,"); + dataQueryHql.append("ms.shippingGroupName AS shippingGroupName,"); + dataQueryHql.append("ms.shippingCode AS shippingCode,"); + dataQueryHql.append("ms.shippingType AS shippingType,"); + dataQueryHql.append("ms.startScanTime AS startScanTime,"); + dataQueryHql.append("ms.status AS status,"); + dataQueryHql.append("ms.shippingGroupCode AS shippingGroupCode,"); + dataQueryHql.append("ms.orderCode AS orderCode,"); + dataQueryHql.append("ms.scanSeqWay AS scanSeqWay"); + dataQueryHql.append(")"); + + countQueryHql.append("select count(1) "); + + commonQueryHql.append(" FROM MesShippingOrderManagement as ms "); + commonQueryHql.append("JOIN MesShippingOrderManagementDetail as momd "); + commonQueryHql.append("ON ms.id = momd.pid "); + commonQueryHql.append("WHERE 1=1 "); + commonQueryHql.append("AND momd.organizeCode = :organizeCode "); + commonQueryHql.append("AND ms.organizeCode = :organizeCode "); + commonQueryHql.append("AND momd.isDeleted = :isDeleted "); + commonQueryHql.append("AND momd.isValid = :isValid "); + commonQueryHql.append("AND ms.isDeleted = :isDeleted "); + commonQueryHql.append("AND ms.isValid = :isValid "); + + // 动态添加其他查询条件 + if (!StringUtils.isEmpty(model.getShippingCode())) { + commonQueryHql.append("AND momd.shippingCode like :shippingCode "); + } + if (!StringUtils.isEmpty(model.getPartNo())) { + commonQueryHql.append("AND momd.partNo like :partNo "); + } + if (!StringUtils.isEmpty(model.getCustPartNo())) { + commonQueryHql.append("AND momd.custPartNo like :custPartNo "); + } + if (!StringUtils.isEmpty(model.getShippingType())) { + commonQueryHql.append("AND momd.shippingType = :shippingType "); + } + if (!StringUtils.isEmpty(model.getCustCode())) { + commonQueryHql.append("AND momd.custCode like :custCode "); + } + if (!StringUtils.isEmpty(model.getStartScanTimeStart()) && !StringUtils.isEmpty(model.getStartScanTimeEnd())) { + commonQueryHql.append("AND momd.startScanTime between :startScanTimeStart and :startScanTimeEnd "); + } + if (!StringUtils.isEmpty(model.getEndScanTimeStart()) && !StringUtils.isEmpty(model.getEndScanTimeEnd())) { + commonQueryHql.append("AND momd.endScanTime between :endScanTimeStart and :endScanTimeEnd "); + } + if (!StringUtils.isEmpty(model.getPublishTimeStart()) && !StringUtils.isEmpty(model.getPublishTimeEnd())) { + commonQueryHql.append("AND momd.publishTime between :publishTimeStart and :publishTimeEnd "); + } + + Query dataQuery = entityManager.createQuery(dataQueryHql.append(commonQueryHql).toString(), ShippingReportModel.class); + setQueryParams(dataQuery, model); + Query countQuery = entityManager.createQuery(countQueryHql.append(commonQueryHql).toString()); + setQueryParams(countQuery, model); + + int count = Integer.parseInt(String.valueOf(countQuery.getSingleResult())); + pager = PagerHelper.getPager(pager, count); + dataQuery.setMaxResults(pager.getPageSize()); + dataQuery.setFirstResult(pager.getCurrentPage() * pager.getPageSize() - pager.getPageSize()); + List resultList = dataQuery.getResultList(); + return new ListPager<>(resultList, pager); + } + + + private void setQueryParams(Query dataQuery, ShippingReportModel model) { + dataQuery.setParameter("organizeCode", model.getOrganizeCode()); + dataQuery.setParameter("isDeleted", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); + dataQuery.setParameter("isValid", CommonEnumUtil.IS_VAILD.VAILD.getValue()); + if (!StringUtils.isEmpty(model.getShippingCode())) { + dataQuery.setParameter("shippingCode", model.getShippingCode() + "%"); + } + if (!StringUtils.isEmpty(model.getPartNo())) { + dataQuery.setParameter("partNo", model.getPartNo() + "%"); + } + if (!StringUtils.isEmpty(model.getCustPartNo())) { + dataQuery.setParameter("custPartNo", model.getCustPartNo() + "%"); + } + if (!StringUtils.isEmpty(model.getShippingType())) { + dataQuery.setParameter("shippingType", model.getShippingType()); + } + if (!StringUtils.isEmpty(model.getCustCode())) { + dataQuery.setParameter("custCode", model.getCustCode() + "%"); + } + if (!StringUtils.isEmpty(model.getStartScanTimeStart()) && !StringUtils.isEmpty(model.getStartScanTimeEnd())) { + dataQuery.setParameter("startScanTimeStart", model.getStartScanTimeStart()); + dataQuery.setParameter("startScanTimeEnd", model.getStartScanTimeEnd()); + } + if (!StringUtils.isEmpty(model.getEndScanTimeStart()) && !StringUtils.isEmpty(model.getEndScanTimeEnd())) { + dataQuery.setParameter("endScanTimeStart", model.getEndScanTimeStart()); + dataQuery.setParameter("endScanTimeEnd", model.getEndScanTimeEnd()); + } + if (!StringUtils.isEmpty(model.getPublishTimeStart()) && !StringUtils.isEmpty(model.getPublishTimeEnd())) { + dataQuery.setParameter("publishTimeStart",model.getPublishTimeStart()); + dataQuery.setParameter("publishTimeEnd", model.getPublishTimeEnd()); + } + } +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/SuspiciousItemBarcodeReportDaoImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/SuspiciousItemBarcodeReportDaoImpl.java new file mode 100644 index 0000000..e53d138 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/SuspiciousItemBarcodeReportDaoImpl.java @@ -0,0 +1,181 @@ +package cn.estsh.i3plus.ext.mes.apiservice.daoimpl.report; + +import cn.estsh.i3plus.ext.mes.apiservice.dao.report.ISuspiciousItemBarcodeReportDao; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.common.PagerHelper; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.mes.model.report.SuspiciousItemBarcodeReportModel; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import javax.persistence.EntityManager; +import javax.persistence.Query; +import java.util.List; + +/** + * @Description : 可疑品条码信息报表 + * @Reference : + * @Author : PZJ + * @CreateDate : 2024/9/28 19:46 + * @Modify: + **/ +@Service +public class SuspiciousItemBarcodeReportDaoImpl implements ISuspiciousItemBarcodeReportDao { + + @Autowired + private EntityManager entityManager; + + @Override + public ListPager queryReport(SuspiciousItemBarcodeReportModel model, Pager pager) { + StringBuilder dataQueryHql = new StringBuilder(); + StringBuilder countQueryHql= new StringBuilder(); + StringBuilder commonQueryHql = new StringBuilder(); + dataQueryHql.append("select new ") + .append(SuspiciousItemBarcodeReportModel.class.getName()).append(" ( "); + dataQueryHql.append("mpd.id as id, "); + dataQueryHql.append("mpd.organizeCode as organizeCode, "); + dataQueryHql.append("mpd.defectLocation as defectLocation, "); + dataQueryHql.append("mpd.frontBack as frontBack, "); + dataQueryHql.append("mpd.status as status, "); + dataQueryHql.append("mpd.defectTypeCode as defectTypeCode, "); + dataQueryHql.append("mpd.defectTypeName as defectTypeName, "); + dataQueryHql.append("mp.sourceType as sourceType, "); + dataQueryHql.append("mp.workCenterCode as workCenterCode, "); + dataQueryHql.append("mp.sn as sn, "); + dataQueryHql.append("mp.lotNo as lotNo, "); + dataQueryHql.append("mp.partNo as partNo, "); + dataQueryHql.append("mp.partName as partName, "); + dataQueryHql.append("mp.qty as qty, "); + dataQueryHql.append("mp.inspectionDate as inspectionDate, "); + dataQueryHql.append("mp.inspectionStatus as inspectionStatus, "); + dataQueryHql.append("mp.ncStatus as ncStatus, "); + dataQueryHql.append("mp.shiftCode as shiftCode, "); + dataQueryHql.append("mpd.systemSyncStatus as systemSyncStatus, "); + dataQueryHql.append("mpd.systemSyncDatetime as systemSyncDatetime"); + dataQueryHql.append(") "); + + countQueryHql.append("select count(1) "); + commonQueryHql.append("FROM MesPartInspectionDetail mpd "); + commonQueryHql.append("LEFT JOIN MesPartInspection mp ON mpd.pid = mp.id "); + commonQueryHql.append("WHERE mpd.organizeCode = :organizeCode "); + commonQueryHql.append("AND mp.organizeCode = :organizeCode "); + commonQueryHql.append("AND mpd.isDeleted = :isDeleted "); + commonQueryHql.append("AND mp.isDeleted = :isDeleted "); + commonQueryHql.append("AND mpd.isValid = :isValid "); + commonQueryHql.append("AND mp.isValid = :isValid "); + + + // like 缺陷位置 + if(!StringUtils.isEmpty(model.getDefectLocation())){ + commonQueryHql.append("AND mpd.defectLocation like :defectLocation "); + } + // = 方向 + if(!StringUtils.isEmpty(model.getFrontBack())){ + commonQueryHql.append("AND mpd.frontBack = :frontBack "); + } + // = nc状态 + if(!StringUtils.isEmpty(model.getStatus())){ + commonQueryHql.append("AND mpd.status = :status "); + } + // like 缺陷代码 + if(!StringUtils.isEmpty(model.getDefectTypeCode())){ + commonQueryHql.append("AND mpd.defectTypeCode like :defectTypeCode "); + } + //like 缺陷名称 + if(!StringUtils.isEmpty(model.getDefectTypeName())){ + commonQueryHql.append("AND mpd.defectTypeName like :defectTypeName "); + } + //like 产线代码 + if(!StringUtils.isEmpty(model.getWorkCenterCode())){ + commonQueryHql.append("AND mp.workCenterCode like :workCenterCode "); + } + //like 条码 + if(!StringUtils.isEmpty(model.getSn())){ + commonQueryHql.append("AND mp.sn like :sn "); + } + //like 零件号 + if(!StringUtils.isEmpty(model.getPartNo())){ + commonQueryHql.append("AND mp.partNo like :partNo "); + } + //like 零件名称 + if(!StringUtils.isEmpty(model.getPartName())){ + commonQueryHql.append("AND mp.partName like :partName "); + } + //范围时间 检验日期 + if (!StringUtils.isEmpty(model.getCreateDateTimeStart()) && !StringUtils.isEmpty(model.getCreateDateTimeEnd())){ + commonQueryHql.append("AND mpd.createDateTimeStart between :createDateTimeStart and :createDateTimeEnd "); + } + //= 检验状态 + if (!StringUtils.isEmpty(model.getInspectionStatus())){ + commonQueryHql.append("AND mpd.inspectionStatus = :inspectionStatus "); + } + //like 班次代码 + if (!StringUtils.isEmpty(model.getShiftCode())){ + commonQueryHql.append("AND mp.shiftCode like :shiftCode "); + } + Query dataQuery = entityManager.createQuery(dataQueryHql.append(commonQueryHql).toString(), SuspiciousItemBarcodeReportModel.class); + setQueryParams(dataQuery, model); + Query countQuery = entityManager.createQuery(countQueryHql.append(commonQueryHql).toString()); + setQueryParams(countQuery, model); + + //本次查询满足条件的总数 + int count = Integer.parseInt(String.valueOf(countQuery.getSingleResult())); + pager = PagerHelper.getPager(pager, count); + //查询本页数据 + dataQuery.setMaxResults(pager.getPageSize()); + dataQuery.setFirstResult(pager.getCurrentPage() * pager.getPageSize() - pager.getPageSize()); + List resultList = dataQuery.getResultList(); + return new ListPager<>(resultList, pager); + } + + private void setQueryParams(Query query, SuspiciousItemBarcodeReportModel model) { + query.setParameter("organizeCode", model.getOrganizeCode()); + query.setParameter("isDeleted", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); + query.setParameter("isValid", CommonEnumUtil.IS_VAILD.VAILD.getValue()); + + // like 缺陷位置 + if(!StringUtils.isEmpty(model.getDefectLocation())){ + query.setParameter("defectLocation", model.getDefectLocation() + "%"); + } + // =方向 + if(!StringUtils.isEmpty(model.getFrontBack())){ + query.setParameter("frontBack", model.getFrontBack()); + } + // =nc状态 + if(!StringUtils.isEmpty(model.getStatus())){ + query.setParameter("status", model.getStatus()); + } + // like 缺陷代码 + if(!StringUtils.isEmpty(model.getDefectTypeCode())){ + query.setParameter("defectTypeCode", model.getDefectTypeCode() + "%"); + } + //like 缺陷名称 + if(!StringUtils.isEmpty(model.getDefectTypeName())){ + query.setParameter("defectTypeName", model.getDefectTypeName() + "%"); + } + if(!StringUtils.isEmpty(model.getWorkCenterCode())){ + query.setParameter("workCenterCode", model.getWorkCenterCode() + "%"); + } + if(!StringUtils.isEmpty(model.getSn())){ + query.setParameter("sn", model.getSn() + "%"); + } + if(!StringUtils.isEmpty(model.getPartNo())){ + query.setParameter("partNo", model.getPartNo() + "%"); + } + if(!StringUtils.isEmpty(model.getPartName())){ + query.setParameter("partName", model.getPartName() + "%"); + } + if (!StringUtils.isEmpty(model.getCreateDateTimeStart()) && !StringUtils.isEmpty(model.getCreateDateTimeEnd())){ + query.setParameter("createDateTimeStart", model.getCreateDateTimeStart()); + query.setParameter("createDateTimeEnd", model.getCreateDateTimeEnd()); + } + if (!StringUtils.isEmpty(model.getInspectionStatus())){ + query.setParameter("inspectionStatus", model.getInspectionStatus()); + } + if (!StringUtils.isEmpty(model.getShiftCode())){ + query.setParameter("shiftCode", model.getShiftCode()); + } + } +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/AssemblyPartReportServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/AssemblyPartReportServiceImpl.java new file mode 100644 index 0000000..647dc8d --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/AssemblyPartReportServiceImpl.java @@ -0,0 +1,31 @@ +package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.report; + +import cn.estsh.i3plus.ext.mes.api.busi.report.IAssemblyPartReportService; +import cn.estsh.i3plus.ext.mes.apiservice.dao.report.IAssemblyPartReportDao; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.mes.model.report.AssemblyPartReportModel; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Description : 装配件查询 + * @Reference : + * @Author : PZJ + * @CreateDate : 2024/9/29 10:20 + * @Modify: + **/ +@Service +@Slf4j +public class AssemblyPartReportServiceImpl implements IAssemblyPartReportService { + + @Autowired + private IAssemblyPartReportDao assemblyPartReportDao; + + @Override + public ListPager queryReport(AssemblyPartReportModel model, Pager pager) { + ListPager result = assemblyPartReportDao.queryReport(model,pager); + return result; + } +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/ProductInspectionSubReportServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/ProductInspectionSubReportServiceImpl.java new file mode 100644 index 0000000..6143458 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/ProductInspectionSubReportServiceImpl.java @@ -0,0 +1,30 @@ +package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.report; + +import cn.estsh.i3plus.ext.mes.api.busi.report.IProductInspectionSubReportService; +import cn.estsh.i3plus.ext.mes.apiservice.dao.report.IProductInspectionSubReportDao; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.mes.bean.MesQmsSuspicious; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Description : 检验产品数据子报表 + * @Reference : + * @Author : PZJ + * @CreateDate : 2024/9/29 13:50 + * @Modify: + **/ +@Service +@Slf4j +public class ProductInspectionSubReportServiceImpl implements IProductInspectionSubReportService { + + @Autowired + private IProductInspectionSubReportDao productInspectionSubReportDao; + + @Override + public ListPager queryReport(MesQmsSuspicious model, Pager pager) { + return productInspectionSubReportDao.queryReport(model,pager); + } +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/ShipmentDetailReportServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/ShipmentDetailReportServiceImpl.java new file mode 100644 index 0000000..7e57c79 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/ShipmentDetailReportServiceImpl.java @@ -0,0 +1,29 @@ +package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.report; + +import cn.estsh.i3plus.ext.mes.api.busi.report.IShipmentDetailReportService; +import cn.estsh.i3plus.ext.mes.apiservice.dao.report.IShipmentDetailReportDao; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.mes.model.report.ShippingReportModel; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Description : 发运明细报表 服务实现 + * @Reference : + * @Author : PZJ + * @CreateDate : 2024/9/29 9:51 + * @Modify: + **/ +@Service +@Slf4j +public class ShipmentDetailReportServiceImpl implements IShipmentDetailReportService { + + @Autowired + private IShipmentDetailReportDao shipmentDetailReportDao; + @Override + public ListPager queryReport(ShippingReportModel model, Pager pager) { + return shipmentDetailReportDao.queryReport(model,pager); + } +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/SuspiciousItemBarcodeReportServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/SuspiciousItemBarcodeReportServiceImpl.java new file mode 100644 index 0000000..ea72942 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/SuspiciousItemBarcodeReportServiceImpl.java @@ -0,0 +1,29 @@ +package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.report; + +import cn.estsh.i3plus.ext.mes.api.busi.report.ISuspiciousItemBarcodeReportService; +import cn.estsh.i3plus.ext.mes.apiservice.dao.report.ISuspiciousItemBarcodeReportDao; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.mes.model.report.SuspiciousItemBarcodeReportModel; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Description : 可疑品条码信息报表 + * @Reference : + * @Author : PZJ + * @CreateDate : 2024/9/28 19:28 + * @Modify: + **/ +@Service +@Slf4j +public class SuspiciousItemBarcodeReportServiceImpl implements ISuspiciousItemBarcodeReportService { + + @Autowired + private ISuspiciousItemBarcodeReportDao suspiciousItemBarcodeReportDao; + @Override + public ListPager queryReport(SuspiciousItemBarcodeReportModel model, Pager pager) { + return suspiciousItemBarcodeReportDao.queryReport(model,pager); + } +}