6 changed files with 329 additions and 0 deletions
-
46src/main/java/com/gaotao/modules/report/controller/PartTemplateStatusController.java
-
25src/main/java/com/gaotao/modules/report/dao/PartTemplateStatusMapper.java
-
96src/main/java/com/gaotao/modules/report/entity/PartTemplateStatusData.java
-
29src/main/java/com/gaotao/modules/report/service/PartTemplateStatusService.java
-
122src/main/java/com/gaotao/modules/report/service/impl/PartTemplateStatusServiceImpl.java
-
11src/main/resources/mapper/report/PartTemplateStatusMapper.xml
@ -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); |
||||
|
} |
||||
|
} |
||||
|
|
||||
@ -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); |
||||
|
} |
||||
|
|
||||
@ -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; |
||||
|
} |
||||
|
|
||||
@ -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); |
||||
|
} |
||||
|
|
||||
@ -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) : ""; |
||||
|
} |
||||
|
} |
||||
|
|
||||
@ -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> |
||||
|
|
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue