Browse Source

2026-01-06

物料未维护模版清单
master
fengyuan_yang 2 months ago
parent
commit
b3fcce8936
  1. 46
      src/main/java/com/gaotao/modules/report/controller/PartTemplateStatusController.java
  2. 25
      src/main/java/com/gaotao/modules/report/dao/PartTemplateStatusMapper.java
  3. 96
      src/main/java/com/gaotao/modules/report/entity/PartTemplateStatusData.java
  4. 29
      src/main/java/com/gaotao/modules/report/service/PartTemplateStatusService.java
  5. 122
      src/main/java/com/gaotao/modules/report/service/impl/PartTemplateStatusServiceImpl.java
  6. 11
      src/main/resources/mapper/report/PartTemplateStatusMapper.xml

46
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<String> siteList = partTemplateStatusService.getAccessSiteList(userName);
return R.ok().put("siteList", siteList);
}
}

25
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<String> getAccessSiteList(@Param("userName") String userName);
}

96
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;
}

29
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<String> getAccessSiteList(String userName);
}

122
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<Object> 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<Map<String, Object>> resultList = procedureDao.getProcedureData("GetPartInspectionAndTemplateStatus", params);
// 转换结果
List<PartTemplateStatusData> dataList = new ArrayList<>();
// int totalCount = 0;
if (resultList != null && !resultList.isEmpty()) {
for (Map<String, Object> 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<String> getAccessSiteList(String userName) {
return partTemplateStatusMapper.getAccessSiteList(userName);
}
/**
* 安全获取String值
*/
private String getStringValue(Map<String, Object> row, String key) {
Object value = row.get(key);
return value != null ? String.valueOf(value) : "";
}
}

11
src/main/resources/mapper/report/PartTemplateStatusMapper.xml

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gaotao.modules.report.dao.PartTemplateStatusMapper">
<!-- 获取用户可访问的site列表 -->
<select id="getAccessSiteList" resultType="java.lang.String">
SELECT site FROM AccessSite WHERE userID = #{userName}
</select>
</mapper>
Loading…
Cancel
Save