diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/report/IMesYfReportService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/report/IMesYfReportService.java new file mode 100644 index 0000000..16afd99 --- /dev/null +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/report/IMesYfReportService.java @@ -0,0 +1,22 @@ +package cn.estsh.i3plus.ext.mes.pcn.api.report; + + +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn; +import io.swagger.annotations.ApiOperation; + +/** + * @Description : 报表-业务方法 + * @Reference : + * @Author : logic + * @CreateDate : 2024/6/15 11:30 + * @Modify: + **/ +public interface IMesYfReportService { + + @ApiOperation("零件条码状态查询") + ListPager queryMesProduceSn(MesProduceSn mesProduceSn, Pager pager); + + +} diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/report/MesBusiReportController.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/report/MesBusiReportController.java new file mode 100644 index 0000000..f5e0537 --- /dev/null +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/report/MesBusiReportController.java @@ -0,0 +1,52 @@ +package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.report; + + +import cn.estsh.i3plus.ext.mes.pcn.api.report.IMesYfReportService; +import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn; +import cn.estsh.impp.framework.base.controller.MesBaseController; +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.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description : Mes业务报表 + * @Reference : + * @Author : junsheng.li --copy by castle 2024-12-30 + * @CreateDate 2024/6/28 14:17 + * @Modify: + **/ +@Api("Mes业务报表") +@RestController +@RequestMapping(MesCommonConstant.MES_YANFEN + "/report") +public class MesBusiReportController extends MesBaseController { + + @Autowired + private IMesYfReportService mesYfReportService; + + + + @ApiOperation(value = "零件条码状态查询", notes = "零件条码状态查询") + @GetMapping("/mesProduceSn/query") + public ResultBean queryMesProduceSn(MesProduceSn mesProduceSn, Pager pager) { + try { + return ResultBean.success("查询成功").setListPager(mesYfReportService.queryMesProduceSn(mesProduceSn,pager)); + } catch (ImppBusiException e) { + return ResultBean.fail(e); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + + + + +} diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/report/MesYfReportServiceImpl.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/report/MesYfReportServiceImpl.java new file mode 100644 index 0000000..e6ec3e7 --- /dev/null +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/report/MesYfReportServiceImpl.java @@ -0,0 +1,76 @@ +package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.report; + + +import cn.estsh.i3plus.ext.mes.pcn.api.report.IMesYfReportService; +import cn.estsh.i3plus.platform.common.tool.TimeTool; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +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.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.mes.bean.*; +import cn.estsh.i3plus.pojo.mes.model.MesProductionRecordModel; +import cn.estsh.i3plus.pojo.mes.model.report.MesGeneralExportReportModel; +import cn.estsh.i3plus.pojo.mes.model.report.MesGeneralShippingReportModel; +import cn.estsh.i3plus.pojo.mes.repository.*; +import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; +import jodd.util.StringUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; + +/** + * @Description : 报表-业务方法实现 + * @Reference : + * @Author : logic + * @CreateDate : 2024/6/15 11:31 + * @Modify: + **/ +@Service +@Slf4j +public class MesYfReportServiceImpl implements IMesYfReportService { + + + @Autowired + private MesProduceSnRepository mesProduceSnRDao; + + + @Override + public ListPager queryMesProduceSn(MesProduceSn mesProduceSn, Pager pager) { + DdlPackBean packBean = getMesProduceSnPackBean(mesProduceSn); + if (Objects.isNull(pager)) { + DdlPreparedPack.getOrderBy(mesProduceSn.getOrderByParam(), mesProduceSn.getAscOrDesc(), packBean); + return new ListPager<>(mesProduceSnRDao.findByHqlWhere(packBean), pager); + } + pager = PagerHelper.getPager(pager, mesProduceSnRDao.findByHqlWhereCount(packBean)); + DdlPreparedPack.getOrderBy(mesProduceSn.getOrderByParam(), mesProduceSn.getAscOrDesc(), packBean); + return new ListPager<>(mesProduceSnRDao.findByHqlWherePage(packBean, pager), pager); + } + + private DdlPackBean getMesProduceSnPackBean(MesProduceSn mesProduceSn) { + DdlPackBean packBean = DdlPackBean.getDdlPackBean(mesProduceSn.getOrganizeCode()); + DdlPreparedPack.getStringLikerPack(mesProduceSn.getProductSn(), "productSn", packBean); + DdlPreparedPack.getStringLikerPack(mesProduceSn.getCustSn(), "custSn", packBean); + DdlPreparedPack.getStringLikerPack(mesProduceSn.getWorkOrderNo(), "workOrderNo", packBean); + DdlPreparedPack.getStringBiggerPack(mesProduceSn.getCreateDateTimeStart(), "createDatetime", packBean); + DdlPreparedPack.getStringSmallerPack(mesProduceSn.getCreateDateTimeEnd(), "createDatetime", packBean); + DdlPreparedPack.getNumEqualPack(mesProduceSn.getSnStatus(), "snStatus", packBean); + DdlPreparedPack.getNumEqualPack(mesProduceSn.getQcStatus(), "qcStatus", packBean); + DdlPreparedPack.getStringLikerPack(mesProduceSn.getPartNo(), "partNo", packBean); + DdlPreparedPack.getStringLikerPack(mesProduceSn.getPartName(), "partName", packBean); + DdlPreparedPack.getStringLikerPack(mesProduceSn.getWorkCenterCode(), "workCenterCode", packBean); + DdlPreparedPack.getNumEqualPack(mesProduceSn.getPrintCount(), "printCount", packBean); + DdlPreparedPack.getNumEqualPack(mesProduceSn.getPrintStatus(), "printStatus", packBean); + DdlPreparedPack.getStringLikerPack(mesProduceSn.getWorkCellCode(), "workCellCode", packBean); + DdlPreparedPack.getStringLikerPack(mesProduceSn.getCreateUser(), "createUser", packBean); + return packBean; + } + +}