From b3fcce893680a141c6ac02e0e8c4a6d992e3953c Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Tue, 6 Jan 2026 16:47:36 +0800 Subject: [PATCH] =?UTF-8?q?2026-01-06=20=E7=89=A9=E6=96=99=E6=9C=AA?= =?UTF-8?q?=E7=BB=B4=E6=8A=A4=E6=A8=A1=E7=89=88=E6=B8=85=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PartTemplateStatusController.java | 46 +++++++ .../report/dao/PartTemplateStatusMapper.java | 25 ++++ .../report/entity/PartTemplateStatusData.java | 96 ++++++++++++++ .../service/PartTemplateStatusService.java | 29 +++++ .../impl/PartTemplateStatusServiceImpl.java | 122 ++++++++++++++++++ .../report/PartTemplateStatusMapper.xml | 11 ++ 6 files changed, 329 insertions(+) create mode 100644 src/main/java/com/gaotao/modules/report/controller/PartTemplateStatusController.java create mode 100644 src/main/java/com/gaotao/modules/report/dao/PartTemplateStatusMapper.java create mode 100644 src/main/java/com/gaotao/modules/report/entity/PartTemplateStatusData.java create mode 100644 src/main/java/com/gaotao/modules/report/service/PartTemplateStatusService.java create mode 100644 src/main/java/com/gaotao/modules/report/service/impl/PartTemplateStatusServiceImpl.java create mode 100644 src/main/resources/mapper/report/PartTemplateStatusMapper.xml diff --git a/src/main/java/com/gaotao/modules/report/controller/PartTemplateStatusController.java b/src/main/java/com/gaotao/modules/report/controller/PartTemplateStatusController.java new file mode 100644 index 0000000..39803c3 --- /dev/null +++ b/src/main/java/com/gaotao/modules/report/controller/PartTemplateStatusController.java @@ -0,0 +1,46 @@ +package com.gaotao.modules.report.controller; + +import com.gaotao.common.utils.PageUtils; +import com.gaotao.common.utils.R; +import com.gaotao.modules.report.entity.PartTemplateStatusData; +import com.gaotao.modules.report.service.PartTemplateStatusService; +import com.gaotao.modules.sys.controller.AbstractController; +import com.gaotao.modules.sys.entity.SysUserEntity; +import org.apache.shiro.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 物料未维护模版清单控制器 + * @author system + * @date 2026/01/06 + */ +@RestController +@RequestMapping("/report/partTemplateStatus") +public class PartTemplateStatusController extends AbstractController { + + @Autowired + private PartTemplateStatusService partTemplateStatusService; + + /** + * 查询物料模版状态数据(分页) + */ + @PostMapping("/list") + public R list(@RequestBody PartTemplateStatusData params) { + PageUtils page = partTemplateStatusService.searchPartTemplateStatus(params); + return R.ok().put("page", page); + } + + /** + * 获取用户可访问的site列表 + */ + @GetMapping("/getSiteList") + public R getSiteList() { + String userName = ((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUsername(); + List siteList = partTemplateStatusService.getAccessSiteList(userName); + return R.ok().put("siteList", siteList); + } +} + diff --git a/src/main/java/com/gaotao/modules/report/dao/PartTemplateStatusMapper.java b/src/main/java/com/gaotao/modules/report/dao/PartTemplateStatusMapper.java new file mode 100644 index 0000000..882abcf --- /dev/null +++ b/src/main/java/com/gaotao/modules/report/dao/PartTemplateStatusMapper.java @@ -0,0 +1,25 @@ +package com.gaotao.modules.report.dao; + +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 物料未维护模版清单Mapper + * @author system + * @date 2026/01/06 + */ +@Mapper +@Repository +public interface PartTemplateStatusMapper { + + /** + * 获取用户可访问的site列表 + * @param userName 用户名 + * @return site列表 + */ + List getAccessSiteList(@Param("userName") String userName); +} + diff --git a/src/main/java/com/gaotao/modules/report/entity/PartTemplateStatusData.java b/src/main/java/com/gaotao/modules/report/entity/PartTemplateStatusData.java new file mode 100644 index 0000000..fe9a395 --- /dev/null +++ b/src/main/java/com/gaotao/modules/report/entity/PartTemplateStatusData.java @@ -0,0 +1,96 @@ +package com.gaotao.modules.report.entity; + +import com.gaotao.common.utils.QueryPage; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 物料未维护模版清单实体类 + * @author system + * @date 2026/01/06 + */ +@Data +@EqualsAndHashCode(callSuper = false) +public class PartTemplateStatusData extends QueryPage { + + /** + * 工厂编码 + */ + private String site; + + /** + * 物料编码 + */ + private String partNo; + + /** + * 物料名称 + */ + private String partDesc; + + /** + * 规格型号 + */ + private String spec; + + /** + * IQC检验标识 (是/否) + */ + private String iqcExempt; + + /** + * IQC检验模版标识 (是/否) + */ + private String iqcHas; + + /** + * IPQC检验标识 (是/否) + */ + private String ipqcExempt; + + /** + * IPQC检验模版标识 (是/否) + */ + private String ipqcHas; + + /** + * FQC检验标识 (是/否) + */ + private String fqcExempt; + + /** + * FQC检验模版标识 (是/否) + */ + private String fqcHas; + + /** + * OQC检验标识 (是/否) + */ + private String oqcExempt; + + /** + * OQC检验模版标识 (是/否) + */ + private String oqcHas; + + /** + * SOP维护标识 (是/否) + */ + private String hasSop; + + /** + * 打印维护标识 (是/否) + */ + private String hasLabelTemplate; + + /** + * 部门 (质量/工艺/生产) + */ + private String department; + + /** + * 用户名(用于权限查询) + */ + private String userName; +} + diff --git a/src/main/java/com/gaotao/modules/report/service/PartTemplateStatusService.java b/src/main/java/com/gaotao/modules/report/service/PartTemplateStatusService.java new file mode 100644 index 0000000..0f59998 --- /dev/null +++ b/src/main/java/com/gaotao/modules/report/service/PartTemplateStatusService.java @@ -0,0 +1,29 @@ +package com.gaotao.modules.report.service; + +import com.gaotao.common.utils.PageUtils; +import com.gaotao.modules.report.entity.PartTemplateStatusData; + +import java.util.List; + +/** + * 物料未维护模版清单服务接口 + * @author system + * @date 2026/01/06 + */ +public interface PartTemplateStatusService { + + /** + * 查询物料模版状态数据(调用存储过程,分页) + * @param query 查询条件 + * @return 分页数据 + */ + PageUtils searchPartTemplateStatus(PartTemplateStatusData query); + + /** + * 获取用户可访问的site列表 + * @param userName 用户名 + * @return site列表 + */ + List getAccessSiteList(String userName); +} + diff --git a/src/main/java/com/gaotao/modules/report/service/impl/PartTemplateStatusServiceImpl.java b/src/main/java/com/gaotao/modules/report/service/impl/PartTemplateStatusServiceImpl.java new file mode 100644 index 0000000..5879a67 --- /dev/null +++ b/src/main/java/com/gaotao/modules/report/service/impl/PartTemplateStatusServiceImpl.java @@ -0,0 +1,122 @@ +package com.gaotao.modules.report.service.impl; + +import com.gaotao.common.utils.PageUtils; +import com.gaotao.modules.report.dao.PartTemplateStatusMapper; +import com.gaotao.modules.report.dao.ProcedureDao; +import com.gaotao.modules.report.entity.PartTemplateStatusData; +import com.gaotao.modules.report.service.PartTemplateStatusService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * 物料未维护模版清单服务实现类 + * @author system + * @date 2026/01/06 + */ +@Slf4j +@Service +public class PartTemplateStatusServiceImpl implements PartTemplateStatusService { + + @Autowired + private ProcedureDao procedureDao; + + @Autowired + private PartTemplateStatusMapper partTemplateStatusMapper; + + @Override + public PageUtils searchPartTemplateStatus(PartTemplateStatusData query) { + try { + log.info("开始查询物料模版状态,工厂:{}", query.getSite()); + + // 构建存储过程参数 + List params = new ArrayList<>(); + params.add(query.getSite() != null ? query.getSite() : ""); + params.add(query.getPartNo() != null ? query.getPartNo() : ""); + params.add(query.getPartDesc() != null ? query.getPartDesc() : ""); + params.add(query.getSpec() != null ? query.getSpec() : ""); + params.add(query.getIqcExempt() != null ? query.getIqcExempt() : ""); + params.add(query.getIqcHas() != null ? query.getIqcHas() : ""); + params.add(query.getIpqcExempt() != null ? query.getIpqcExempt() : ""); + params.add(query.getIpqcHas() != null ? query.getIpqcHas() : ""); + params.add(query.getFqcExempt() != null ? query.getFqcExempt() : ""); + params.add(query.getFqcHas() != null ? query.getFqcHas() : ""); + params.add(query.getOqcExempt() != null ? query.getOqcExempt() : ""); + params.add(query.getOqcHas() != null ? query.getOqcHas() : ""); + params.add(query.getHasSop() != null ? query.getHasSop() : ""); + params.add(query.getHasLabelTemplate() != null ? query.getHasLabelTemplate() : ""); + params.add(query.getDepartment() != null ? query.getDepartment() : ""); + // 分页参数 + int page = query.getPage() > 0 ? query.getPage() : 1; + int limit = query.getLimit() > 0 ? query.getLimit() : 20; + int offset = (page - 1) * limit; + params.add(offset); + params.add(limit); + + // 调用存储过程 + List> resultList = procedureDao.getProcedureData("GetPartInspectionAndTemplateStatus", params); + + // 转换结果 + List dataList = new ArrayList<>(); +// int totalCount = 0; + + if (resultList != null && !resultList.isEmpty()) { + for (Map row : resultList) { +// // 检查是否有totalCount字段(存储过程返回总数) +// if (row.containsKey("totalCount")) { +// totalCount = Integer.parseInt(String.valueOf(row.get("totalCount"))); +// continue; +// } + + PartTemplateStatusData data = new PartTemplateStatusData(); + data.setSite(getStringValue(row, "site")); + data.setPartNo(getStringValue(row, "partNo")); + data.setPartDesc(getStringValue(row, "partDesc")); + data.setSpec(getStringValue(row, "spec")); + data.setIqcExempt(getStringValue(row, "iqcExempt")); + data.setIqcHas(getStringValue(row, "iqcHas")); + data.setIpqcExempt(getStringValue(row, "ipqcExempt")); + data.setIpqcHas(getStringValue(row, "ipqcHas")); + data.setFqcExempt(getStringValue(row, "fqcExempt")); + data.setFqcHas(getStringValue(row, "fqcHas")); + data.setOqcExempt(getStringValue(row, "oqcExempt")); + data.setOqcHas(getStringValue(row, "oqcHas")); + data.setHasSop(getStringValue(row, "hasSop")); + data.setHasLabelTemplate(getStringValue(row, "hasLabelTemplate")); + data.setDepartment(getStringValue(row, "department")); + dataList.add(data); + } + } + +// // 如果存储过程没有返回totalCount,则使用结果集大小 +// if (totalCount == 0) { +// totalCount = dataList.size(); +// } + + log.info("查询物料模版状态完成,共{}条数据", dataList.size()); + return new PageUtils(dataList, dataList.size(), limit, page); + + } catch (Exception e) { + log.error("查询物料模版状态异常", e); + return new PageUtils(new ArrayList<>(), 0, query.getLimit(), query.getPage()); + } + } + + @Override + public List getAccessSiteList(String userName) { + return partTemplateStatusMapper.getAccessSiteList(userName); + } + + /** + * 安全获取String值 + */ + private String getStringValue(Map row, String key) { + Object value = row.get(key); + return value != null ? String.valueOf(value) : ""; + } +} + diff --git a/src/main/resources/mapper/report/PartTemplateStatusMapper.xml b/src/main/resources/mapper/report/PartTemplateStatusMapper.xml new file mode 100644 index 0000000..03778fb --- /dev/null +++ b/src/main/resources/mapper/report/PartTemplateStatusMapper.xml @@ -0,0 +1,11 @@ + + + + + + + + +