Browse Source

工具属性的维护

master
DouDou 1 year ago
parent
commit
63bbe9a218
  1. 21
      src/main/java/com/spring/modules/base/dao/PropertiesMapper.java
  2. 38
      src/main/java/com/spring/modules/base/service/Impl/PropertiesServiceImpl.java
  3. 9
      src/main/java/com/spring/modules/part/mapper/PartInformationMapper.java
  4. 50
      src/main/resources/mapper/base/PropertiesMapper.xml
  5. 9
      src/main/resources/mapper/part/PartInformationMapper.xml

21
src/main/java/com/spring/modules/base/dao/PropertiesMapper.java

@ -335,6 +335,14 @@ public interface PropertiesMapper extends BaseMapper<PlmPropertiesItemData> {
List<PartSubPropertiesValueData> getPropertiesListByPartAndCodeNo(PartSubPropertiesValueData inData);
/**
* @description: 工具使用的方法查询属性
* @author LR
* @date 2025/1/26 15:35
* @version 1.0
*/
List<PartSubPropertiesValueData> getPropertiesListByPartAndCodeNoForTool(PartSubPropertiesValueData inData);
void updatePropertiesList(PartSubPropertiesValue inData);
void deleteModalDetailsForBM(PlmBmModelDetailData data);
@ -380,7 +388,7 @@ public interface PropertiesMapper extends BaseMapper<PlmPropertiesItemData> {
List<WorkCenterBMTypeData> searchWorkCenterBMType(WorkCenterBMTypeData data);
/**
* @Description TODO
* @Description
* @Title updateWorkCenterBMType
* @param data
* @author rq
@ -420,6 +428,16 @@ public interface PropertiesMapper extends BaseMapper<PlmPropertiesItemData> {
@Param("codeType")String codeType,
@Param("list") List<String> list);
/**
* @description: 查询属性编码的信息
* @author LR
* @date 2025/1/26 14:51
* @version 1.0
*/
List<PlmPropertiesItemData> searchPropertiesChoose(@Param("site")String site,
@Param("codeType")String codeType,
@Param("list") List<String> list);
/**
* @Description TODO
* @Title 单独插入属性
@ -435,4 +453,5 @@ public interface PropertiesMapper extends BaseMapper<PlmPropertiesItemData> {
Double getNewSeqNoForAlone(PartSubPropertiesValueData inData);
}

38
src/main/java/com/spring/modules/base/service/Impl/PropertiesServiceImpl.java

@ -289,9 +289,15 @@ public class PropertiesServiceImpl implements PropertiesService {
@Override
public List<PlmPropertiesItemData> searchPropertiesItemList(PlmPropertiesModelHeaderData inData){
//公共参数
String functionType = inData.getFunctionType();
List<String> list = inData.getList().stream().map(PlmPropertiesItemData::getPropertiesItemNo).collect(Collectors.toList());
return propertiesMapper.searchPropertiesUnChoose(inData.getSite(),inData.getFunctionType(), list);
//区分是否是工具方法过来的参数
if("TL".equalsIgnoreCase(functionType) || "TLI".equalsIgnoreCase(functionType)){
return propertiesMapper.searchPropertiesChoose("*", functionType, list);
}else {
return propertiesMapper.searchPropertiesUnChoose(inData.getSite(), functionType, list);
}
}
@Override
@ -405,14 +411,26 @@ public class PropertiesServiceImpl implements PropertiesService {
@Override
@Transactional
public List<PartSubPropertiesValueData> getPropertiesListByPartAndCodeNo(PartSubPropertiesValueData inData){
List<PartSubPropertiesValueData> result= propertiesMapper.getPropertiesListByPartAndCodeNo(inData);
//公共参数
String recordType = inData.getRecordType();
List<PartSubPropertiesValueData> result = null;
if("TL".equalsIgnoreCase(recordType) || "TLI".equalsIgnoreCase(recordType)){
result = propertiesMapper.getPropertiesListByPartAndCodeNoForTool(inData);
}else {
result = propertiesMapper.getPropertiesListByPartAndCodeNo(inData);
}
for (int i = 0; i < result.size(); i++) {
if ("Y".equals(result.get(i).getValueChooseFlag())) {
//针对工具的情况 需要特殊设置
if("TL".equalsIgnoreCase(recordType) || "TLI".equalsIgnoreCase(recordType)){
List<PlmPropertiesItemAvailableData> availableList = partInformationMapper.getAvailableValueListForTool(result.get(i));
result.get(i).setAvailableValueList(availableList);
}else {
List<PlmPropertiesItemAvailableData> availableList = partInformationMapper.getAvailableValueList(result.get(i));
result.get(i).setAvailableValueList(availableList);
}
}
}
return result;
}
@ -605,12 +623,20 @@ public class PropertiesServiceImpl implements PropertiesService {
@Transactional
public void refreshPropertiesModal(PartSubPropertiesValueData inData){
List<Object> params = new ArrayList<>();
String recordType = inData.getRecordType();
params.add(inData.getSite());
params.add(inData.getRecordType());
params.add(recordType);
params.add(inData.getPartNo());
params.add(inData.getCodeNo());
//针对工具和工具实例走特殊的方法
List<Map<String, Object>> resultList = null;
if ("TL".equalsIgnoreCase(recordType) || "TLI".equalsIgnoreCase(recordType)){
//执行方法
List<Map<String, Object>> resultList = procedureDao.getProcedureData("plm_refreshPartSubPropertiesValue", params);
resultList = procedureDao.getProcedureData("plm_refreshPartSubPropertiesValueForTool", params);
}else{
//执行方法
resultList = procedureDao.getProcedureData("plm_refreshPartSubPropertiesValue", params);
}
//判断是否成功
String code = String.valueOf(resultList.get(0).get("resultCode"));
if ("400".equalsIgnoreCase(code)) {

9
src/main/java/com/spring/modules/part/mapper/PartInformationMapper.java

@ -37,6 +37,15 @@ public interface PartInformationMapper extends BaseMapper<PartInformationEntity>
List<PlmPropertiesItemAvailableData> getAvailableValueList(PartSubPropertiesValueData partSubPropertiesValueData);
/**
* @description: 获取可选值 工具使用
* @author LR
* @date 2025/1/26 15:41
* @version 1.0
*/
List<PlmPropertiesItemAvailableData> getAvailableValueListForTool(PartSubPropertiesValueData partSubPropertiesValueData);
void savePartItemValue(PartSubPropertiesValueData data);
List<AgentInformationEntity> getAgentList(AgentInformationEntity data);

50
src/main/resources/mapper/base/PropertiesMapper.xml

@ -363,6 +363,30 @@
</if>
</select>
<!--查询属性选择内容 -->
<select id="searchPropertiesChoose" resultType="PlmPropertiesItemData">
SELECT b.site,
b.ItemType as functionType,
b.ItemNo,
b.ItemDesc,
b.DefaultValue,
b.ValueType,
b.ValueType_DB,
b.ValueChooseFlag,
b.MaxValue,
b.MinValue
FROM plm_properties_item b
where b.ItemType = #{codeType}
and b.site = #{site}
<if test="list != null and list.size() != 0">
and b.ItemNo in (
<foreach collection="list" item="item" separator=",">
#{item}
</foreach>
)
</if>
</select>
<select id="checkValueHeaderData" resultType="PartSubPropertiesValueHeaderData">
SELECT PartNo, Site, CodeNo, SubCodeSeqNo, SubCodeDesc, RecordType
from PartSubPropertiesValueHeader
@ -676,6 +700,32 @@
order by a.order_id
</select>
<select id="getPropertiesListByPartAndCodeNoForTool" resultType="PartSubPropertiesValueData">
SELECT a.PartNo
, a.Site
, a.CodeNo
, a.SubCodeSeqNo
, a.SubCodeDesc
, a.ItemNo
, a.PropertiesItemNo
, a.TextValue
, a.NumValue
, a.RecordType
, b.ItemDesc ItemDesc
, b.ValueType
, b.ValueType_DB
, b.ValueChooseFlag
FROM PartSubPropertiesValue a
left join plm_properties_item b on a.PropertiesItemNo = b.ItemNo and b.site = '*' and a.RecordType = b.ItemType
<where>
AND a.site = #{site}
and a.RecordType = #{recordType}
and a.codeNo = #{codeNo}
AND a.PartNo = #{partNo,jdbcType=VARCHAR}
</where>
order by a.order_id
</select>
<update id="updatePropertiesList">
update PartSubPropertiesValue
set TextValue=#{textValue},

9
src/main/resources/mapper/part/PartInformationMapper.xml

@ -228,6 +228,15 @@
where itemNo = #{propertiesItemNo} and site = #{site} and ItemType = #{recordType}
</select>
<!--工具专用的方法-->
<select id="getAvailableValueListForTool" resultType="PlmPropertiesItemAvailableData">
select ItemNo, ValueNo, AvailableValue
from plm_properties_item_available
where itemNo = #{propertiesItemNo}
and site = '*'
and ItemType = #{recordType}
</select>
<!-- 编辑属性值 -->
<update id="savePartItemValue" >
update PartSubPropertiesValue

Loading…
Cancel
Save