Browse Source

刀模修改

master
shenzhouyu 1 month ago
parent
commit
cb3685beb8
  1. 1
      src/main/java/com/xujie/sys/modules/pms/data/DmAttributeTemplateItemData.java
  2. 2
      src/main/java/com/xujie/sys/modules/pms/mapper/DmMapper.java
  3. 91
      src/main/java/com/xujie/sys/modules/pms/service/Impl/DmServiceImpl.java
  4. 32
      src/main/resources/mapper/pms/DmMapper.xml

1
src/main/java/com/xujie/sys/modules/pms/data/DmAttributeTemplateItemData.java

@ -46,6 +46,7 @@ public class DmAttributeTemplateItemData {
private String createBy; private String createBy;
private String updateBy; private String updateBy;
private String inspectionTypeNo;
/** 前端保存/新增/删除时传入的明细列表 */ /** 前端保存/新增/删除时传入的明细列表 */
private List<DmAttributeTemplateItemData> itemList; private List<DmAttributeTemplateItemData> itemList;
} }

2
src/main/java/com/xujie/sys/modules/pms/mapper/DmMapper.java

@ -221,4 +221,6 @@ public interface DmMapper {
void deleteDmUploadFileAddressById(@Param("id") Integer id); void deleteDmUploadFileAddressById(@Param("id") Integer id);
DmUploadFileAddressRow selectDmUploadFileAddressById(@Param("id") Long id); DmUploadFileAddressRow selectDmUploadFileAddressById(@Param("id") Long id);
List<DmAttributeTemplateItemData> dmAttributeTemplateItemList(DmAttributeTemplateItemData data);
} }

91
src/main/java/com/xujie/sys/modules/pms/service/Impl/DmServiceImpl.java

@ -772,7 +772,8 @@ public class DmServiceImpl implements DmService {
@Override @Override
public List<DmAttributeTemplateItemData> dmAttributeTemplateItemGetRow1(DmAttributeTemplateItemData data) { public List<DmAttributeTemplateItemData> dmAttributeTemplateItemGetRow1(DmAttributeTemplateItemData data) {
// 左侧可选项目 = 模板范围内项目 - 已有项目并集结果 // 左侧可选项目 = 模板范围内项目 - 已有项目并集结果
List<DmAttributeTemplateItemData> templateItems = dmMapper.dmAttributeTemplateItemPropertyList(data);
//List<DmAttributeTemplateItemData> templateItems = dmMapper.dmAttributeTemplateItemPropertyList(data);
List<DmAttributeTemplateItemData> templateItems = dmMapper.dmAttributeTemplateItemList(data);
List<DmAttributeTemplateItemData> existing = dmAttributeTemplateItemDetailsSearch(data); List<DmAttributeTemplateItemData> existing = dmAttributeTemplateItemDetailsSearch(data);
java.util.HashSet<String> existNos = new java.util.HashSet<>(); java.util.HashSet<String> existNos = new java.util.HashSet<>();
if (existing != null) { if (existing != null) {
@ -912,6 +913,7 @@ public class DmServiceImpl implements DmService {
} }
@Override @Override
@Transactional
public void dmAttributeTemplateDelete(DmAttributeTemplateData data) { public void dmAttributeTemplateDelete(DmAttributeTemplateData data) {
if (data.getItemList() != null && !data.getItemList().isEmpty()) { // 批量删除 if (data.getItemList() != null && !data.getItemList().isEmpty()) { // 批量删除
for (DmTemplateData partData : data.getItemList()) { for (DmTemplateData partData : data.getItemList()) {
@ -920,26 +922,86 @@ public class DmServiceImpl implements DmService {
partData.setAttributeNo(data.getAttributeNo()); partData.setAttributeNo(data.getAttributeNo());
partData.setAttributeType(data.getAttributeType()); partData.setAttributeType(data.getAttributeType());
dmMapper.dmAttributeTemplateDelete(partData); dmMapper.dmAttributeTemplateDelete(partData);
// 同步删除覆盖项目表dm_attribute_template_item
DmAttributeTemplateItemData del = new DmAttributeTemplateItemData();
del.setSite(partData.getSite());
del.setBuNo(partData.getBuNo());
del.setAttributeNo(partData.getAttributeNo());
del.setTemplateId(partData.getTemplateId());
dmMapper.dmAttributeTemplateItemDeleteByKey(del);
deleteDmAttributeTemplateItemsByTemplateKey(
partData.getSite(), partData.getBuNo(), partData.getAttributeNo(), partData.getTemplateId());
} }
} else { // 单条删除 } else { // 单条删除
dmMapper.dmAttributeTemplateDelete(data); dmMapper.dmAttributeTemplateDelete(data);
deleteDmAttributeTemplateItemsByTemplateKey(
data.getSite(), data.getBuNo(), data.getAttributeNo(), data.getTemplateId());
}
}
// 同步删除覆盖项目表dm_attribute_template_item
/** 按 site + bu + attributeNo + templateId 删除 dm_attribute_template_item。 */
private void deleteDmAttributeTemplateItemsByTemplateKey(String site, String buNo, String attributeNo, String templateId) {
DmAttributeTemplateItemData del = new DmAttributeTemplateItemData(); DmAttributeTemplateItemData del = new DmAttributeTemplateItemData();
del.setSite(data.getSite());
del.setBuNo(data.getBuNo());
del.setAttributeNo(data.getAttributeNo());
del.setTemplateId(data.getTemplateId());
del.setSite(site);
del.setBuNo(buNo);
del.setAttributeNo(attributeNo);
del.setTemplateId(templateId);
dmMapper.dmAttributeTemplateItemDeleteByKey(del); dmMapper.dmAttributeTemplateItemDeleteByKey(del);
} }
/**
* 822/823时, site+bu+attributeNo+templateId 将模板明细中的检验项目写入 dm_attribute_template_item
*/
private void insertDmAttributeTemplateItemsAfterBind822823(DmTemplateData partData, DmAttributeTemplateData request) {
DmAttributeTemplateItemData ctx = new DmAttributeTemplateItemData();
ctx.setSite(partData.getSite());
ctx.setBuNo(partData.getBuNo());
ctx.setAttributeNo(partData.getAttributeNo());
ctx.setTemplateId(partData.getTemplateId());
List<DmAttributeTemplateItemData> fromTemplateDetailed = dmMapper.dmAttributeTemplateItemPropertyList(ctx);
if (fromTemplateDetailed == null || fromTemplateDetailed.isEmpty()) {
return;
}
List<DmAttributeTemplateItemData> inOverlay = dmMapper.dmAttributeTemplateItemDetailsSearch(ctx);
Set<String> existingItemNos = new HashSet<>();
int maxOrder = 0;
if (inOverlay != null) {
for (DmAttributeTemplateItemData row : inOverlay) {
if (row != null && row.getItemNo() != null) {
existingItemNos.add(row.getItemNo());
}
if (row != null && row.getOrderId() != null && row.getOrderId() > maxOrder) {
maxOrder = row.getOrderId();
}
}
}
String createBy = request.getCreateBy() != null ? request.getCreateBy() : partData.getCreateBy();
String updateBy = request.getUpdateBy() != null ? request.getUpdateBy() : partData.getUpdateBy();
List<DmAttributeTemplateItemData> insertRows = new ArrayList<>();
int nextOrder = maxOrder + 1;
boolean overlayEmpty = inOverlay == null || inOverlay.isEmpty();
for (DmAttributeTemplateItemData src : fromTemplateDetailed) {
if (src == null || src.getItemNo() == null || existingItemNos.contains(src.getItemNo())) {
continue;
}
DmAttributeTemplateItemData row = new DmAttributeTemplateItemData();
row.setSite(partData.getSite());
row.setBuNo(partData.getBuNo());
row.setAttributeNo(partData.getAttributeNo());
row.setTemplateId(partData.getTemplateId());
row.setItemNo(src.getItemNo());
row.setDefaultValue(src.getDefaultValue());
row.setMaxValue(src.getMaxValue());
row.setMinValue(src.getMinValue());
if (overlayEmpty) {
row.setOrderId(src.getOrderId() != null ? src.getOrderId() : nextOrder++);
} else {
row.setOrderId(nextOrder++);
}
row.setCreateBy(createBy);
row.setUpdateBy(updateBy);
insertRows.add(row);
}
if (!insertRows.isEmpty()) {
dmMapper.dmAttributeTemplateItemInsertList(insertRows);
}
} }
@Override @Override
@ -973,6 +1035,7 @@ public class DmServiceImpl implements DmService {
continue; continue;
} }
dmMapper.dmAttributeTemplateSave(partData); dmMapper.dmAttributeTemplateSave(partData);
insertDmAttributeTemplateItemsAfterBind822823(partData, data);
} else if ("105".equals(partData.getInspectionTypeNo())) { // IQC } else if ("105".equals(partData.getInspectionTypeNo())) { // IQC
if (data.getManufacturerList() != null && !data.getManufacturerList().isEmpty()) { if (data.getManufacturerList() != null && !data.getManufacturerList().isEmpty()) {
for (String manufacturer : data.getManufacturerList()) { for (String manufacturer : data.getManufacturerList()) {

32
src/main/resources/mapper/pms/DmMapper.xml

@ -967,9 +967,9 @@
a.ItemDesc as itemDesc, a.ItemDesc as itemDesc,
a.ValueType as valueType, a.ValueType as valueType,
a.ValueType_DB as valueTypeDb, a.ValueType_DB as valueTypeDb,
a.DefaultValue as defaultValue,
a.MaxValue as maxValue,
a.MinValue as minValue
try_convert(decimal(18,6), nullif(ltrim(rtrim(convert(varchar(100), a.DefaultValue))), '')) as defaultValue,
try_convert(decimal(18,6), a.MaxValue) as maxValue,
try_convert(decimal(18,6), a.MinValue) as minValue
from dm_properties_item a from dm_properties_item a
where a.site = #{site} and a.bu_no = #{buNo} and a.ItemType = 'D' where a.site = #{site} and a.bu_no = #{buNo} and a.ItemType = 'D'
and not exists ( and not exists (
@ -1460,5 +1460,31 @@
FROM upload_file_address FROM upload_file_address
WHERE id = #{id} WHERE id = #{id}
</select> </select>
<select id="dmAttributeTemplateItemList"
resultType="com.xujie.sys.modules.pms.data.DmAttributeTemplateItemData">
SELECT
b.site,
b.bu_no,
b.ItemNo as itemNo,
b.ItemDesc,
try_convert(decimal(18,6), nullif(ltrim(rtrim(convert(varchar(100), b.DefaultValue))), '')) as defaultValue,
b.ValueType,
b.ValueType_DB,
b.MaxValue as maxValue,
b.MinValue as minValue,
b.ItemRemark,
b.ItemType,
b.item_sampling_quantity,
b.sampling_programme_no,
c.sampling_programme_desc,
b.sampling_level_no,
d.sampling_level_desc,
b.default_sampling_proportion
FROM dm_properties_item b
left join dm_sampling_inspection_programme as c on b.site = c.site and b.sampling_programme_no = c.sampling_programme_no and b.bu_no = c.bu_no
left join dm_sampling_inspection_level as d on b.site = d.site and b.sampling_level_no = d.sampling_level_no and b.bu_no = d.bu_no
WHERE b.site = #{site} and b.bu_no = #{buNo} and b.inspection_type_no = #{inspectionTypeNo}
order by b.itemNo
</select>
</mapper> </mapper>
Loading…
Cancel
Save