Browse Source

2025-11-24

IQC、FQC、OQC检验增加项目操作
master
fengyuan_yang 10 months ago
parent
commit
acced9d666
  1. 138
      src/main/java/com/gaotao/modules/pms/controller/QcController.java
  2. 54
      src/main/java/com/gaotao/modules/pms/mapper/QcMapper.java
  3. 464
      src/main/java/com/gaotao/modules/pms/service/Impl/QcServiceImpl.java
  4. 36
      src/main/java/com/gaotao/modules/pms/service/QcService.java
  5. 402
      src/main/resources/mapper/pms/QcMapper.xml

138
src/main/java/com/gaotao/modules/pms/controller/QcController.java

@ -1386,6 +1386,144 @@ public class QcController {
return R.ok().put("code", 0).put("importCount", importCount);
}
// ======================== IQC检验项目操作和模板导入 ========================
/**
* 获取IQC检验项目列表可选+已选
*/
@PostMapping("/getIQCItemList")
public R getIQCItemList(@RequestBody Map<String, Object> params){
Map<String, Object> result = qcService.getIQCItemList(params);
return R.ok().put("code", result.get("code")).put("row1", result.get("row1")).put("row2", result.get("row2"));
}
/**
* 添加IQC检验项目
*/
@PostMapping("/addIQCItemDetails")
public R addIQCItemDetails(@RequestBody Map<String, Object> params){
qcService.addIQCItemDetails(params);
return R.ok();
}
/**
* 删除IQC检验项目级联删除子明细
*/
@PostMapping("/deleteIQCItemDetails")
public R deleteIQCItemDetails(@RequestBody Map<String, Object> params){
qcService.deleteIQCItemDetails(params);
return R.ok();
}
/**
* 获取IQC模板列表
*/
@PostMapping("/getIQCTemplateList")
public R getIQCTemplateList(@RequestBody Map<String, Object> params){
List<Map<String, Object>> list = qcService.getIQCTemplateList(params);
return R.ok().put("code", 0).put("rows", list);
}
/**
* 导入IQC模板项目到检验单
*/
@PostMapping("/importIQCTemplateItems")
public R importIQCTemplateItems(@RequestBody Map<String, Object> params){
int importCount = qcService.importIQCTemplateItems(params);
return R.ok().put("code", 0).put("importCount", importCount);
}
// ======================== FQC检验项目操作和模板导入 ========================
/**
* 获取FQC检验项目列表可选+已选
*/
@PostMapping("/getFQCItemList")
public R getFQCItemList(@RequestBody Map<String, Object> params){
Map<String, Object> result = qcService.getFQCItemList(params);
return R.ok().put("code", result.get("code")).put("row1", result.get("row1")).put("row2", result.get("row2"));
}
/**
* 添加FQC检验项目
*/
@PostMapping("/addFQCItemDetails")
public R addFQCItemDetails(@RequestBody Map<String, Object> params){
qcService.addFQCItemDetails(params);
return R.ok();
}
/**
* 删除FQC检验项目级联删除子明细
*/
@PostMapping("/deleteFQCItemDetails")
public R deleteFQCItemDetails(@RequestBody Map<String, Object> params){
qcService.deleteFQCItemDetails(params);
return R.ok();
}
/**
* 获取FQC模板列表
*/
@PostMapping("/getFQCTemplateList")
public R getFQCTemplateList(@RequestBody Map<String, Object> params){
List<Map<String, Object>> list = qcService.getFQCTemplateList(params);
return R.ok().put("code", 0).put("rows", list);
}
/**
* 导入FQC模板项目到检验单
*/
@PostMapping("/importFQCTemplateItems")
public R importFQCTemplateItems(@RequestBody Map<String, Object> params){
int importCount = qcService.importFQCTemplateItems(params);
return R.ok().put("code", 0).put("importCount", importCount);
}
// ======================== OQC检验项目操作和模板导入 ========================
/**
* 获取OQC检验项目列表可选+已选
*/
@PostMapping("/getOQCItemList")
public R getOQCItemList(@RequestBody Map<String, Object> params){
Map<String, Object> result = qcService.getOQCItemList(params);
return R.ok().put("code", result.get("code")).put("row1", result.get("row1")).put("row2", result.get("row2"));
}
/**
* 添加OQC检验项目
*/
@PostMapping("/addOQCItemDetails")
public R addOQCItemDetails(@RequestBody Map<String, Object> params){
qcService.addOQCItemDetails(params);
return R.ok();
}
/**
* 删除OQC检验项目级联删除子明细
*/
@PostMapping("/deleteOQCItemDetails")
public R deleteOQCItemDetails(@RequestBody Map<String, Object> params){
qcService.deleteOQCItemDetails(params);
return R.ok();
}
/**
* 获取OQC模板列表
*/
@PostMapping("/getOQCTemplateList")
public R getOQCTemplateList(@RequestBody Map<String, Object> params){
List<Map<String, Object>> list = qcService.getOQCTemplateList(params);
return R.ok().put("code", 0).put("rows", list);
}
/**
* 导入OQC模板项目到检验单
*/
@PostMapping("/importOQCTemplateItems")
public R importOQCTemplateItems(@RequestBody Map<String, Object> params){
int importCount = qcService.importOQCTemplateItems(params);
return R.ok().put("code", 0).put("importCount", importCount);
}
/**
* 获取检验标准
*/

54
src/main/java/com/gaotao/modules/pms/mapper/QcMapper.java

@ -329,6 +329,60 @@ public interface QcMapper {
List<String> getExistingItemNos(Map<String, Object> params);
// IQC检验项目操作
List<EamPropertiesItemData> getIQCAvailableItems(Map<String, Object> params);
List<EamPropertiesItemData> getIQCSelectedItems(Map<String, Object> params);
List<EamPropertiesItemData> getExistingIQCItems(Map<String, Object> params);
void insertIQCItemDetail(Map<String, Object> params);
void deleteIQCItemDetail(Map<String, Object> params);
void deleteIQCSubDetailByItem(Map<String, Object> params);
// IQC模板导入
List<Map<String, Object>> getIQCTemplateList(Map<String, Object> params);
List<String> getExistingIQCItemNos(Map<String, Object> params);
// FQC检验项目操作
List<EamPropertiesItemData> getFQCAvailableItems(Map<String, Object> params);
List<EamPropertiesItemData> getFQCSelectedItems(Map<String, Object> params);
List<EamPropertiesItemData> getExistingFQCItems(Map<String, Object> params);
void insertFQCItemDetail(Map<String, Object> params);
void deleteFQCItemDetail(Map<String, Object> params);
void deleteFQCSubDetailByItem(Map<String, Object> params);
// FQC模板导入
List<Map<String, Object>> getFQCTemplateList(Map<String, Object> params);
List<String> getExistingFQCItemNos(Map<String, Object> params);
// OQC检验项目操作
List<EamPropertiesItemData> getOQCAvailableItems(Map<String, Object> params);
List<EamPropertiesItemData> getOQCSelectedItems(Map<String, Object> params);
List<EamPropertiesItemData> getExistingOQCItems(Map<String, Object> params);
void insertOQCItemDetail(Map<String, Object> params);
void deleteOQCItemDetail(Map<String, Object> params);
void deleteOQCSubDetailByItem(Map<String, Object> params);
// OQC模板导入
List<Map<String, Object>> getOQCTemplateList(Map<String, Object> params);
List<String> getExistingOQCItemNos(Map<String, Object> params);
List<QcInspectionStandardData> getInspectionStandards(QcInspectionStandardData data);
void deleteInspectionStandard(QcInspectionStandardData data);

464
src/main/java/com/gaotao/modules/pms/service/Impl/QcServiceImpl.java

@ -2906,6 +2906,470 @@ public class QcServiceImpl implements QcService {
return importCount;
}
// ======================== IQC检验项目操作和模板导入 ========================
/**
* 获取IQC检验项目列表
*/
@Override
public Map<String, Object> getIQCItemList(Map<String, Object> params) {
List<EamPropertiesItemData> availableItems = qcMapper.getIQCAvailableItems(params);
List<EamPropertiesItemData> selectedItems = qcMapper.getIQCSelectedItems(params);
Map<String, Object> result = new HashMap<>();
result.put("code", 0);
result.put("row1", availableItems);
result.put("row2", selectedItems);
return result;
}
/**
* 添加IQC检验项目
*/
@Override
@Transactional
public void addIQCItemDetails(Map<String, Object> params) {
String site = (String) params.get("site");
String buNo = (String) params.get("buNo");
String inspectionNo = (String) params.get("inspectionNo");
List<Map<String, Object>> itemList = (List<Map<String, Object>>) params.get("itemList");
if (itemList != null && !itemList.isEmpty()) {
// 查询当前检验单是否已有检验项目
Map<String, Object> queryParams = new HashMap<>();
queryParams.put("site", site);
queryParams.put("buNo", buNo);
queryParams.put("inspectionNo", inspectionNo);
List<EamPropertiesItemData> existingItems = qcMapper.getExistingIQCItems(queryParams);
// 确定template_id和foreign_flag
String templateId;
String foreignFlag = "Y"; // 后来添加的项目标记为Y
if (existingItems != null && !existingItems.isEmpty()) {
templateId = existingItems.get(0).getTemplateId();
} else {
templateId = "*";
}
for (Map<String, Object> item : itemList) {
Map<String, Object> insertParams = new HashMap<>();
insertParams.put("site", site);
insertParams.put("buNo", buNo);
insertParams.put("inspectionNo", inspectionNo);
insertParams.put("itemNo", item.get("itemNo"));
insertParams.put("templateId", templateId);
insertParams.put("foreignFlag", foreignFlag);
qcMapper.insertIQCItemDetail(insertParams);
}
}
}
/**
* 删除IQC检验项目
*/
@Override
@Transactional
public void deleteIQCItemDetails(Map<String, Object> params) {
String site = (String) params.get("site");
String buNo = (String) params.get("buNo");
String inspectionNo = (String) params.get("inspectionNo");
List<Map<String, Object>> itemList = (List<Map<String, Object>>) params.get("itemList");
if (itemList != null && !itemList.isEmpty()) {
for (Map<String, Object> item : itemList) {
String itemNo = (String) item.get("itemNo");
Map<String, Object> deleteParams = new HashMap<>();
deleteParams.put("site", site);
deleteParams.put("buNo", buNo);
deleteParams.put("inspectionNo", inspectionNo);
deleteParams.put("itemNo", itemNo);
qcMapper.deleteIQCSubDetailByItem(deleteParams);
qcMapper.deleteIQCItemDetail(deleteParams);
}
}
}
/**
* 获取IQC模板列表
*/
@Override
public List<Map<String, Object>> getIQCTemplateList(Map<String, Object> params) {
return qcMapper.getIQCTemplateList(params);
}
/**
* 导入IQC模板项目
*/
@Override
@Transactional
public int importIQCTemplateItems(Map<String, Object> params) {
String site = (String) params.get("site");
String buNo = (String) params.get("buNo");
String inspectionNo = (String) params.get("inspectionNo");
List<Map<String, Object>> templateList = (List<Map<String, Object>>) params.get("templateList");
int importCount = 0;
if (templateList != null && !templateList.isEmpty()) {
Map<String, Object> queryParams = new HashMap<>();
queryParams.put("site", site);
queryParams.put("buNo", buNo);
queryParams.put("inspectionNo", inspectionNo);
List<EamPropertiesItemData> existingItems = qcMapper.getExistingIQCItems(queryParams);
String targetTemplateId;
String foreignFlag = "Y";
if (existingItems != null && !existingItems.isEmpty()) {
targetTemplateId = existingItems.get(0).getTemplateId();
} else {
targetTemplateId = "*";
}
for (Map<String, Object> template : templateList) {
String templateId = (String) template.get("templateId");
Map<String, Object> templateItemParams = new HashMap<>();
templateItemParams.put("site", site);
templateItemParams.put("buNo", buNo);
templateItemParams.put("templateId", templateId);
List<EamPropertiesItemData> templateItems = qcMapper.getTemplateItems(templateItemParams);
List<String> existingItemNos = qcMapper.getExistingIQCItemNos(queryParams);
for (EamPropertiesItemData item : templateItems) {
if (existingItemNos.contains(item.getItemNo())) {
continue;
}
Map<String, Object> insertParams = new HashMap<>();
insertParams.put("site", site);
insertParams.put("buNo", buNo);
insertParams.put("inspectionNo", inspectionNo);
insertParams.put("itemNo", item.getItemNo());
insertParams.put("templateId", targetTemplateId);
insertParams.put("foreignFlag", foreignFlag);
qcMapper.insertIQCItemDetail(insertParams);
importCount++;
}
}
}
return importCount;
}
// ======================== FQC检验项目操作和模板导入 ========================
/**
* 获取FQC检验项目列表
*/
@Override
public Map<String, Object> getFQCItemList(Map<String, Object> params) {
List<EamPropertiesItemData> availableItems = qcMapper.getFQCAvailableItems(params);
List<EamPropertiesItemData> selectedItems = qcMapper.getFQCSelectedItems(params);
Map<String, Object> result = new HashMap<>();
result.put("code", 0);
result.put("row1", availableItems);
result.put("row2", selectedItems);
return result;
}
/**
* 添加FQC检验项目
*/
@Override
@Transactional
public void addFQCItemDetails(Map<String, Object> params) {
String site = (String) params.get("site");
String buNo = (String) params.get("buNo");
String inspectionNo = (String) params.get("inspectionNo");
List<Map<String, Object>> itemList = (List<Map<String, Object>>) params.get("itemList");
if (itemList != null && !itemList.isEmpty()) {
Map<String, Object> queryParams = new HashMap<>();
queryParams.put("site", site);
queryParams.put("buNo", buNo);
queryParams.put("inspectionNo", inspectionNo);
List<EamPropertiesItemData> existingItems = qcMapper.getExistingFQCItems(queryParams);
String templateId;
String foreignFlag = "Y";
if (existingItems != null && !existingItems.isEmpty()) {
templateId = existingItems.get(0).getTemplateId();
} else {
templateId = "*";
}
for (Map<String, Object> item : itemList) {
Map<String, Object> insertParams = new HashMap<>();
insertParams.put("site", site);
insertParams.put("buNo", buNo);
insertParams.put("inspectionNo", inspectionNo);
insertParams.put("itemNo", item.get("itemNo"));
insertParams.put("templateId", templateId);
insertParams.put("foreignFlag", foreignFlag);
qcMapper.insertFQCItemDetail(insertParams);
}
}
}
/**
* 删除FQC检验项目
*/
@Override
@Transactional
public void deleteFQCItemDetails(Map<String, Object> params) {
String site = (String) params.get("site");
String buNo = (String) params.get("buNo");
String inspectionNo = (String) params.get("inspectionNo");
List<Map<String, Object>> itemList = (List<Map<String, Object>>) params.get("itemList");
if (itemList != null && !itemList.isEmpty()) {
for (Map<String, Object> item : itemList) {
String itemNo = (String) item.get("itemNo");
Map<String, Object> deleteParams = new HashMap<>();
deleteParams.put("site", site);
deleteParams.put("buNo", buNo);
deleteParams.put("inspectionNo", inspectionNo);
deleteParams.put("itemNo", itemNo);
qcMapper.deleteFQCSubDetailByItem(deleteParams);
qcMapper.deleteFQCItemDetail(deleteParams);
}
}
}
/**
* 获取FQC模板列表
*/
@Override
public List<Map<String, Object>> getFQCTemplateList(Map<String, Object> params) {
return qcMapper.getFQCTemplateList(params);
}
/**
* 导入FQC模板项目
*/
@Override
@Transactional
public int importFQCTemplateItems(Map<String, Object> params) {
String site = (String) params.get("site");
String buNo = (String) params.get("buNo");
String inspectionNo = (String) params.get("inspectionNo");
List<Map<String, Object>> templateList = (List<Map<String, Object>>) params.get("templateList");
int importCount = 0;
if (templateList != null && !templateList.isEmpty()) {
Map<String, Object> queryParams = new HashMap<>();
queryParams.put("site", site);
queryParams.put("buNo", buNo);
queryParams.put("inspectionNo", inspectionNo);
List<EamPropertiesItemData> existingItems = qcMapper.getExistingFQCItems(queryParams);
String targetTemplateId;
String foreignFlag = "Y";
if (existingItems != null && !existingItems.isEmpty()) {
targetTemplateId = existingItems.get(0).getTemplateId();
} else {
targetTemplateId = "*";
}
for (Map<String, Object> template : templateList) {
String templateId = (String) template.get("templateId");
Map<String, Object> templateItemParams = new HashMap<>();
templateItemParams.put("site", site);
templateItemParams.put("buNo", buNo);
templateItemParams.put("templateId", templateId);
List<EamPropertiesItemData> templateItems = qcMapper.getTemplateItems(templateItemParams);
List<String> existingItemNos = qcMapper.getExistingFQCItemNos(queryParams);
for (EamPropertiesItemData item : templateItems) {
if (existingItemNos.contains(item.getItemNo())) {
continue;
}
Map<String, Object> insertParams = new HashMap<>();
insertParams.put("site", site);
insertParams.put("buNo", buNo);
insertParams.put("inspectionNo", inspectionNo);
insertParams.put("itemNo", item.getItemNo());
insertParams.put("templateId", targetTemplateId);
insertParams.put("foreignFlag", foreignFlag);
qcMapper.insertFQCItemDetail(insertParams);
importCount++;
}
}
}
return importCount;
}
// ======================== OQC检验项目操作和模板导入 ========================
/**
* 获取OQC检验项目列表
*/
@Override
public Map<String, Object> getOQCItemList(Map<String, Object> params) {
List<EamPropertiesItemData> availableItems = qcMapper.getOQCAvailableItems(params);
List<EamPropertiesItemData> selectedItems = qcMapper.getOQCSelectedItems(params);
Map<String, Object> result = new HashMap<>();
result.put("code", 0);
result.put("row1", availableItems);
result.put("row2", selectedItems);
return result;
}
/**
* 添加OQC检验项目
*/
@Override
@Transactional
public void addOQCItemDetails(Map<String, Object> params) {
String site = (String) params.get("site");
String buNo = (String) params.get("buNo");
String inspectionNo = (String) params.get("inspectionNo");
List<Map<String, Object>> itemList = (List<Map<String, Object>>) params.get("itemList");
if (itemList != null && !itemList.isEmpty()) {
Map<String, Object> queryParams = new HashMap<>();
queryParams.put("site", site);
queryParams.put("buNo", buNo);
queryParams.put("inspectionNo", inspectionNo);
List<EamPropertiesItemData> existingItems = qcMapper.getExistingOQCItems(queryParams);
String templateId;
String foreignFlag = "Y";
if (existingItems != null && !existingItems.isEmpty()) {
templateId = existingItems.get(0).getTemplateId();
} else {
templateId = "*";
}
for (Map<String, Object> item : itemList) {
Map<String, Object> insertParams = new HashMap<>();
insertParams.put("site", site);
insertParams.put("buNo", buNo);
insertParams.put("inspectionNo", inspectionNo);
insertParams.put("itemNo", item.get("itemNo"));
insertParams.put("templateId", templateId);
insertParams.put("foreignFlag", foreignFlag);
qcMapper.insertOQCItemDetail(insertParams);
}
}
}
/**
* 删除OQC检验项目
*/
@Override
@Transactional
public void deleteOQCItemDetails(Map<String, Object> params) {
String site = (String) params.get("site");
String buNo = (String) params.get("buNo");
String inspectionNo = (String) params.get("inspectionNo");
List<Map<String, Object>> itemList = (List<Map<String, Object>>) params.get("itemList");
if (itemList != null && !itemList.isEmpty()) {
for (Map<String, Object> item : itemList) {
String itemNo = (String) item.get("itemNo");
Map<String, Object> deleteParams = new HashMap<>();
deleteParams.put("site", site);
deleteParams.put("buNo", buNo);
deleteParams.put("inspectionNo", inspectionNo);
deleteParams.put("itemNo", itemNo);
qcMapper.deleteOQCSubDetailByItem(deleteParams);
qcMapper.deleteOQCItemDetail(deleteParams);
}
}
}
/**
* 获取OQC模板列表
*/
@Override
public List<Map<String, Object>> getOQCTemplateList(Map<String, Object> params) {
return qcMapper.getOQCTemplateList(params);
}
/**
* 导入OQC模板项目
*/
@Override
@Transactional
public int importOQCTemplateItems(Map<String, Object> params) {
String site = (String) params.get("site");
String buNo = (String) params.get("buNo");
String inspectionNo = (String) params.get("inspectionNo");
List<Map<String, Object>> templateList = (List<Map<String, Object>>) params.get("templateList");
int importCount = 0;
if (templateList != null && !templateList.isEmpty()) {
Map<String, Object> queryParams = new HashMap<>();
queryParams.put("site", site);
queryParams.put("buNo", buNo);
queryParams.put("inspectionNo", inspectionNo);
List<EamPropertiesItemData> existingItems = qcMapper.getExistingOQCItems(queryParams);
String targetTemplateId;
String foreignFlag = "Y";
if (existingItems != null && !existingItems.isEmpty()) {
targetTemplateId = existingItems.get(0).getTemplateId();
} else {
targetTemplateId = "*";
}
for (Map<String, Object> template : templateList) {
String templateId = (String) template.get("templateId");
Map<String, Object> templateItemParams = new HashMap<>();
templateItemParams.put("site", site);
templateItemParams.put("buNo", buNo);
templateItemParams.put("templateId", templateId);
List<EamPropertiesItemData> templateItems = qcMapper.getTemplateItems(templateItemParams);
List<String> existingItemNos = qcMapper.getExistingOQCItemNos(queryParams);
for (EamPropertiesItemData item : templateItems) {
if (existingItemNos.contains(item.getItemNo())) {
continue;
}
Map<String, Object> insertParams = new HashMap<>();
insertParams.put("site", site);
insertParams.put("buNo", buNo);
insertParams.put("inspectionNo", inspectionNo);
insertParams.put("itemNo", item.getItemNo());
insertParams.put("templateId", targetTemplateId);
insertParams.put("foreignFlag", foreignFlag);
qcMapper.insertOQCItemDetail(insertParams);
importCount++;
}
}
}
return importCount;
}
/**
* 获取检验标准
*/

36
src/main/java/com/gaotao/modules/pms/service/QcService.java

@ -193,6 +193,42 @@ public interface QcService {
int importIPQCTemplateItems(Map<String, Object> params);
// IQC检验项目操作
Map<String, Object> getIQCItemList(Map<String, Object> params);
void addIQCItemDetails(Map<String, Object> params);
void deleteIQCItemDetails(Map<String, Object> params);
// IQC模板导入
List<Map<String, Object>> getIQCTemplateList(Map<String, Object> params);
int importIQCTemplateItems(Map<String, Object> params);
// FQC检验项目操作
Map<String, Object> getFQCItemList(Map<String, Object> params);
void addFQCItemDetails(Map<String, Object> params);
void deleteFQCItemDetails(Map<String, Object> params);
// FQC模板导入
List<Map<String, Object>> getFQCTemplateList(Map<String, Object> params);
int importFQCTemplateItems(Map<String, Object> params);
// OQC检验项目操作
Map<String, Object> getOQCItemList(Map<String, Object> params);
void addOQCItemDetails(Map<String, Object> params);
void deleteOQCItemDetails(Map<String, Object> params);
// OQC模板导入
List<Map<String, Object>> getOQCTemplateList(Map<String, Object> params);
int importOQCTemplateItems(Map<String, Object> params);
List<QcInspectionStandardData> getInspectionStandards(QcInspectionStandardData data);
void saveInspectionStandard(QcInspectionStandardData data);

402
src/main/resources/mapper/pms/QcMapper.xml

@ -2583,6 +2583,408 @@
AND inspection_no = #{inspectionNo}
</select>
<!-- ======================== IQC检验项目操作和模板导入 ======================== -->
<!-- 查询IQC可选的检验项目 -->
<select id="getIQCAvailableItems" parameterType="java.util.Map" resultType="com.gaotao.modules.pms.data.EamPropertiesItemData">
SELECT
ItemNo as itemNo,
ItemDesc as itemDesc,
DefaultValue as defaultValue,
MaxValue as maxValue,
MinValue as minValue,
ValueType as valueType,
ValueType_DB as valueTypeDb
FROM eam_properties_item
WHERE site = #{site}
AND bu_no = #{buNo}
AND inspection_type_no = '105'
<if test="itemNo != null and itemNo != ''">
AND ItemNo LIKE '%' + #{itemNo} + '%'
</if>
<if test="itemDesc != null and itemDesc != ''">
AND ItemDesc LIKE '%' + #{itemDesc} + '%'
</if>
AND ItemNo NOT IN (
SELECT item_no
FROM qc_iqc_detailed_record
WHERE site = #{site}
AND bu_no = #{buNo}
AND inspection_no = #{inspectionNo}
)
ORDER BY ItemNo
</select>
<!-- 查询IQC已选的检验项目 -->
<select id="getIQCSelectedItems" parameterType="java.util.Map" resultType="com.gaotao.modules.pms.data.EamPropertiesItemData">
SELECT
d.item_no as itemNo,
d.item_desc as itemDesc
FROM qc_iqc_detailed_record d
WHERE d.site = #{site}
AND d.bu_no = #{buNo}
AND d.inspection_no = #{inspectionNo}
ORDER BY d.item_no
</select>
<!-- 查询当前IQC检验单已有的项目 -->
<select id="getExistingIQCItems" parameterType="java.util.Map" resultType="com.gaotao.modules.pms.data.EamPropertiesItemData">
SELECT TOP 1
template_id as templateId,
item_no as itemNo,
foreign_flag as foreignFlag
FROM qc_iqc_detailed_record
WHERE site = #{site}
AND bu_no = #{buNo}
AND inspection_no = #{inspectionNo}
</select>
<!-- 插入IQC检验项目 -->
<insert id="insertIQCItemDetail" parameterType="java.util.Map">
INSERT INTO qc_iqc_detailed_record (
inspection_no,
template_id,
item_no,
item_desc,
default_value,
min_value,
max_value,
value_type_db,
value_type,
site,
bu_no,
foreign_flag
) VALUES (
#{inspectionNo},
#{templateId},
#{itemNo},
(SELECT ItemDesc FROM eam_properties_item WHERE site = #{site} AND bu_no = #{buNo} AND ItemNo = #{itemNo}),
(SELECT DefaultValue FROM eam_properties_item WHERE site = #{site} AND bu_no = #{buNo} AND ItemNo = #{itemNo}),
(SELECT MinValue FROM eam_properties_item WHERE site = #{site} AND bu_no = #{buNo} AND ItemNo = #{itemNo}),
(SELECT MaxValue FROM eam_properties_item WHERE site = #{site} AND bu_no = #{buNo} AND ItemNo = #{itemNo}),
(SELECT ValueType_DB FROM eam_properties_item WHERE site = #{site} AND bu_no = #{buNo} AND ItemNo = #{itemNo}),
(SELECT ValueType FROM eam_properties_item WHERE site = #{site} AND bu_no = #{buNo} AND ItemNo = #{itemNo}),
#{site},
#{buNo},
#{foreignFlag}
)
</insert>
<!-- 删除IQC检验项目 -->
<delete id="deleteIQCItemDetail" parameterType="java.util.Map">
DELETE FROM qc_iqc_detailed_record
WHERE site = #{site}
AND bu_no = #{buNo}
AND inspection_no = #{inspectionNo}
AND item_no = #{itemNo}
</delete>
<!-- 删除IQC检验项目的子明细 -->
<delete id="deleteIQCSubDetailByItem" parameterType="java.util.Map">
DELETE FROM qc_iqc_sub_detail_record
WHERE site = #{site}
AND bu_no = #{buNo}
AND inspection_no = #{inspectionNo}
AND item_no = #{itemNo}
</delete>
<!-- 查询IQC模板列表 -->
<select id="getIQCTemplateList" parameterType="java.util.Map" resultType="java.util.HashMap">
SELECT
t.template_id as templateId,
t.template_name as templateName,
t.template_remark as remark,
(SELECT COUNT(*) FROM qc_template_detailed d
WHERE d.site = t.site AND d.bu_no = t.bu_no AND d.template_id = t.template_id) as itemCount
FROM qc_template t
WHERE t.site = #{site}
AND t.bu_no = #{buNo}
AND t.inspection_type_no = '105'
<if test="templateId != null and templateId != ''">
AND t.template_id LIKE '%' + #{templateId} + '%'
</if>
<if test="templateDesc != null and templateDesc != ''">
AND t.template_name LIKE '%' + #{templateDesc} + '%'
</if>
ORDER BY t.template_id
</select>
<!-- 查询IQC检验单已有的项目编码 -->
<select id="getExistingIQCItemNos" parameterType="java.util.Map" resultType="java.lang.String">
SELECT item_no
FROM qc_iqc_detailed_record
WHERE site = #{site}
AND bu_no = #{buNo}
AND inspection_no = #{inspectionNo}
</select>
<!-- ======================== FQC检验项目操作和模板导入 ======================== -->
<!-- 查询FQC可选的检验项目 -->
<select id="getFQCAvailableItems" parameterType="java.util.Map" resultType="com.gaotao.modules.pms.data.EamPropertiesItemData">
SELECT
ItemNo as itemNo,
ItemDesc as itemDesc,
DefaultValue as defaultValue,
MaxValue as maxValue,
MinValue as minValue,
ValueType as valueType,
ValueType_DB as valueTypeDb
FROM eam_properties_item
WHERE site = #{site}
AND bu_no = #{buNo}
AND inspection_type_no = '107'
<if test="itemNo != null and itemNo != ''">
AND ItemNo LIKE '%' + #{itemNo} + '%'
</if>
<if test="itemDesc != null and itemDesc != ''">
AND ItemDesc LIKE '%' + #{itemDesc} + '%'
</if>
AND ItemNo NOT IN (
SELECT item_no
FROM qc_fqc_detailed_record
WHERE site = #{site}
AND bu_no = #{buNo}
AND inspection_no = #{inspectionNo}
)
ORDER BY ItemNo
</select>
<!-- 查询FQC已选的检验项目 -->
<select id="getFQCSelectedItems" parameterType="java.util.Map" resultType="com.gaotao.modules.pms.data.EamPropertiesItemData">
SELECT
d.item_no as itemNo,
d.item_desc as itemDesc
FROM qc_fqc_detailed_record d
WHERE d.site = #{site}
AND d.bu_no = #{buNo}
AND d.inspection_no = #{inspectionNo}
ORDER BY d.item_no
</select>
<!-- 查询当前FQC检验单已有的项目 -->
<select id="getExistingFQCItems" parameterType="java.util.Map" resultType="com.gaotao.modules.pms.data.EamPropertiesItemData">
SELECT TOP 1
template_id as templateId,
item_no as itemNo,
foreign_flag as foreignFlag
FROM qc_fqc_detailed_record
WHERE site = #{site}
AND bu_no = #{buNo}
AND inspection_no = #{inspectionNo}
</select>
<!-- 插入FQC检验项目 -->
<insert id="insertFQCItemDetail" parameterType="java.util.Map">
INSERT INTO qc_fqc_detailed_record (
inspection_no,
template_id,
item_no,
item_desc,
default_value,
min_value,
max_value,
value_type_db,
value_type,
site,
bu_no,
foreign_flag
) VALUES (
#{inspectionNo},
#{templateId},
#{itemNo},
(SELECT ItemDesc FROM eam_properties_item WHERE site = #{site} AND bu_no = #{buNo} AND ItemNo = #{itemNo}),
(SELECT DefaultValue FROM eam_properties_item WHERE site = #{site} AND bu_no = #{buNo} AND ItemNo = #{itemNo}),
(SELECT MinValue FROM eam_properties_item WHERE site = #{site} AND bu_no = #{buNo} AND ItemNo = #{itemNo}),
(SELECT MaxValue FROM eam_properties_item WHERE site = #{site} AND bu_no = #{buNo} AND ItemNo = #{itemNo}),
(SELECT ValueType_DB FROM eam_properties_item WHERE site = #{site} AND bu_no = #{buNo} AND ItemNo = #{itemNo}),
(SELECT ValueType FROM eam_properties_item WHERE site = #{site} AND bu_no = #{buNo} AND ItemNo = #{itemNo}),
#{site},
#{buNo},
#{foreignFlag}
)
</insert>
<!-- 删除FQC检验项目 -->
<delete id="deleteFQCItemDetail" parameterType="java.util.Map">
DELETE FROM qc_fqc_detailed_record
WHERE site = #{site}
AND bu_no = #{buNo}
AND inspection_no = #{inspectionNo}
AND item_no = #{itemNo}
</delete>
<!-- 删除FQC检验项目的子明细 -->
<delete id="deleteFQCSubDetailByItem" parameterType="java.util.Map">
DELETE FROM qc_fqc_sub_detail_record
WHERE site = #{site}
AND bu_no = #{buNo}
AND inspection_no = #{inspectionNo}
AND item_no = #{itemNo}
</delete>
<!-- 查询FQC模板列表 -->
<select id="getFQCTemplateList" parameterType="java.util.Map" resultType="java.util.HashMap">
SELECT
t.template_id as templateId,
t.template_name as templateName,
t.template_remark as remark,
(SELECT COUNT(*) FROM qc_template_detailed d
WHERE d.site = t.site AND d.bu_no = t.bu_no AND d.template_id = t.template_id) as itemCount
FROM qc_template t
WHERE t.site = #{site}
AND t.bu_no = #{buNo}
AND t.inspection_type_no = '107'
<if test="templateId != null and templateId != ''">
AND t.template_id LIKE '%' + #{templateId} + '%'
</if>
<if test="templateDesc != null and templateDesc != ''">
AND t.template_name LIKE '%' + #{templateDesc} + '%'
</if>
ORDER BY t.template_id
</select>
<!-- 查询FQC检验单已有的项目编码 -->
<select id="getExistingFQCItemNos" parameterType="java.util.Map" resultType="java.lang.String">
SELECT item_no
FROM qc_fqc_detailed_record
WHERE site = #{site}
AND bu_no = #{buNo}
AND inspection_no = #{inspectionNo}
</select>
<!-- ======================== OQC检验项目操作和模板导入 ======================== -->
<!-- 查询OQC可选的检验项目 -->
<select id="getOQCAvailableItems" parameterType="java.util.Map" resultType="com.gaotao.modules.pms.data.EamPropertiesItemData">
SELECT
ItemNo as itemNo,
ItemDesc as itemDesc,
DefaultValue as defaultValue,
MaxValue as maxValue,
MinValue as minValue,
ValueType as valueType,
ValueType_DB as valueTypeDb
FROM eam_properties_item
WHERE site = #{site}
AND bu_no = #{buNo}
AND inspection_type_no = '109'
<if test="itemNo != null and itemNo != ''">
AND ItemNo LIKE '%' + #{itemNo} + '%'
</if>
<if test="itemDesc != null and itemDesc != ''">
AND ItemDesc LIKE '%' + #{itemDesc} + '%'
</if>
AND ItemNo NOT IN (
SELECT item_no
FROM qc_oqc_detailed_record
WHERE site = #{site}
AND bu_no = #{buNo}
AND inspection_no = #{inspectionNo}
)
ORDER BY ItemNo
</select>
<!-- 查询OQC已选的检验项目 -->
<select id="getOQCSelectedItems" parameterType="java.util.Map" resultType="com.gaotao.modules.pms.data.EamPropertiesItemData">
SELECT
d.item_no as itemNo,
d.item_desc as itemDesc
FROM qc_oqc_detailed_record d
WHERE d.site = #{site}
AND d.bu_no = #{buNo}
AND d.inspection_no = #{inspectionNo}
ORDER BY d.item_no
</select>
<!-- 查询当前OQC检验单已有的项目 -->
<select id="getExistingOQCItems" parameterType="java.util.Map" resultType="com.gaotao.modules.pms.data.EamPropertiesItemData">
SELECT TOP 1
template_id as templateId,
item_no as itemNo,
foreign_flag as foreignFlag
FROM qc_oqc_detailed_record
WHERE site = #{site}
AND bu_no = #{buNo}
AND inspection_no = #{inspectionNo}
</select>
<!-- 插入OQC检验项目 -->
<insert id="insertOQCItemDetail" parameterType="java.util.Map">
INSERT INTO qc_oqc_detailed_record (
inspection_no,
template_id,
item_no,
item_desc,
default_value,
min_value,
max_value,
value_type_db,
value_type,
site,
bu_no,
foreign_flag
) VALUES (
#{inspectionNo},
#{templateId},
#{itemNo},
(SELECT ItemDesc FROM eam_properties_item WHERE site = #{site} AND bu_no = #{buNo} AND ItemNo = #{itemNo}),
(SELECT DefaultValue FROM eam_properties_item WHERE site = #{site} AND bu_no = #{buNo} AND ItemNo = #{itemNo}),
(SELECT MinValue FROM eam_properties_item WHERE site = #{site} AND bu_no = #{buNo} AND ItemNo = #{itemNo}),
(SELECT MaxValue FROM eam_properties_item WHERE site = #{site} AND bu_no = #{buNo} AND ItemNo = #{itemNo}),
(SELECT ValueType_DB FROM eam_properties_item WHERE site = #{site} AND bu_no = #{buNo} AND ItemNo = #{itemNo}),
(SELECT ValueType FROM eam_properties_item WHERE site = #{site} AND bu_no = #{buNo} AND ItemNo = #{itemNo}),
#{site},
#{buNo},
#{foreignFlag}
)
</insert>
<!-- 删除OQC检验项目 -->
<delete id="deleteOQCItemDetail" parameterType="java.util.Map">
DELETE FROM qc_oqc_detailed_record
WHERE site = #{site}
AND bu_no = #{buNo}
AND inspection_no = #{inspectionNo}
AND item_no = #{itemNo}
</delete>
<!-- 删除OQC检验项目的子明细 -->
<delete id="deleteOQCSubDetailByItem" parameterType="java.util.Map">
DELETE FROM qc_oqc_sub_detail_record
WHERE site = #{site}
AND bu_no = #{buNo}
AND inspection_no = #{inspectionNo}
AND item_no = #{itemNo}
</delete>
<!-- 查询OQC模板列表 -->
<select id="getOQCTemplateList" parameterType="java.util.Map" resultType="java.util.HashMap">
SELECT
t.template_id as templateId,
t.template_name as templateName,
t.template_remark as remark,
(SELECT COUNT(*) FROM qc_template_detailed d
WHERE d.site = t.site AND d.bu_no = t.bu_no AND d.template_id = t.template_id) as itemCount
FROM qc_template t
WHERE t.site = #{site}
AND t.bu_no = #{buNo}
AND t.inspection_type_no = '109'
<if test="templateId != null and templateId != ''">
AND t.template_id LIKE '%' + #{templateId} + '%'
</if>
<if test="templateDesc != null and templateDesc != ''">
AND t.template_name LIKE '%' + #{templateDesc} + '%'
</if>
ORDER BY t.template_id
</select>
<!-- 查询OQC检验单已有的项目编码 -->
<select id="getExistingOQCItemNos" parameterType="java.util.Map" resultType="java.lang.String">
SELECT item_no
FROM qc_oqc_detailed_record
WHERE site = #{site}
AND bu_no = #{buNo}
AND inspection_no = #{inspectionNo}
</select>
<select id="getInspectionStandards" parameterType="com.gaotao.modules.pms.data.QcInspectionStandardData" resultType="com.gaotao.modules.pms.data.QcInspectionStandardData">
select
site,

Loading…
Cancel
Save