diff --git a/src/main/java/com/xujie/sys/modules/ecss/controller/CoDelController.java b/src/main/java/com/xujie/sys/modules/ecss/controller/CoDelController.java index c007fbad..d33b4ed6 100644 --- a/src/main/java/com/xujie/sys/modules/ecss/controller/CoDelController.java +++ b/src/main/java/com/xujie/sys/modules/ecss/controller/CoDelController.java @@ -2,14 +2,20 @@ package com.xujie.sys.modules.ecss.controller; import com.xujie.sys.common.utils.PageUtils; import com.xujie.sys.common.utils.R; +import com.xujie.sys.modules.attrbute.entity.PropertyItem; +import com.xujie.sys.modules.attrbute.entity.PropertyModelHeader; import com.xujie.sys.modules.ecss.data.EcssCoDelNotifyData; import com.xujie.sys.modules.ecss.data.EcssCoDelNotifyDetailData; import com.xujie.sys.modules.ecss.data.EcssCoDelNotifyHeaderData; import com.xujie.sys.modules.ecss.data.EcssHsCodeData; import com.xujie.sys.modules.ecss.entity.EcssCoDelNotify; import com.xujie.sys.modules.ecss.entity.EcssCoDelNotifyDetail; +import com.xujie.sys.modules.ecss.entity.PropertyItemData; +import com.xujie.sys.modules.ecss.entity.PropertyModelHeaderData; import com.xujie.sys.modules.ecss.service.CoDelService; import com.xujie.sys.modules.orderIssure.entity.SOIssueNotifyHeaderData; +import com.xujie.sys.modules.part.entity.PartSubPropertiesValue; +import com.xujie.sys.modules.part.entity.PartSubPropertiesValueData; import com.xujie.sys.modules.part.vo.BomComponentVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -106,4 +112,64 @@ public class CoDelController { coDelService.saveHSCodeData(data); return R.ok(); } + + + + /** + * @Description TODO + * @Title getPropertiesListByPartAndCodeNo + * @param inData + * @author rq + * @date 2024/8/21 17:46 + * @return R + * @throw + */ + @PostMapping("/getPropertiesListByPartAndCodeNo") + @ResponseBody + public R getPropertiesListByPartAndCodeNo(@RequestBody PartSubPropertiesValueData inData){ + List resultList=coDelService.getPropertiesListByPartAndCodeNo(inData); + return R.ok().put("rows", resultList); + } + + /** + * @Description 批量更新属性值 + * @Title updatePropertiesList + * @param inData + * @author rq + * @date 2024/8/22 16:53 + * @return R + * @throw + */ + @PostMapping("/updatePropertiesList") + @ResponseBody + public R updatePropertiesList(@RequestBody List inData){ + coDelService.updatePropertiesList(inData); + return R.ok(); + } + + @PostMapping("/searchPropertiesItemList") + @ResponseBody + public R searchPropertiesItemList(@RequestBody PropertyModelHeaderData inData){ + + List rows = coDelService.searchPropertiesItemList(inData); + return R.ok().put("rows", rows); + } + @PostMapping("/saveSubPropertiesValueForAlone") + @ResponseBody + public R saveSubPropertiesValueForAlone(@RequestBody List inData){ + coDelService.saveSubPropertiesValueForAlone(inData); + return R.ok(); + } + @PostMapping("/deleteSubPropertiesValueForAlone") + @ResponseBody + public R deleteSubPropertiesValueForAlone(@RequestBody List inData){ + coDelService.deleteSubPropertiesValueForAlone(inData); + return R.ok(); + } + @PostMapping("/deleteHsCode") + @ResponseBody + public R deleteHsCode(@RequestBody EcssHsCodeData inData){ + coDelService.deleteHsCode(inData); + return R.ok(); + } } diff --git a/src/main/java/com/xujie/sys/modules/ecss/entity/PropertyItemData.java b/src/main/java/com/xujie/sys/modules/ecss/entity/PropertyItemData.java new file mode 100644 index 00000000..521bc5a9 --- /dev/null +++ b/src/main/java/com/xujie/sys/modules/ecss/entity/PropertyItemData.java @@ -0,0 +1,24 @@ +package com.xujie.sys.modules.ecss.entity; + +import com.xujie.sys.modules.attrbute.entity.PropertyItem; +import lombok.Data; + +@Data +public class PropertyItemData extends PropertyItem { + + private Integer flag; + private String functionType; + private String codeNo; + private String userId; + private String buNo; + + private String itNo; + + private String partNo; + private String propertiesItemNo; + private Double subCodeSeqNo; + + private String recordType; + + private String functionTypeDesc; +} diff --git a/src/main/java/com/xujie/sys/modules/ecss/entity/PropertyModelHeaderData.java b/src/main/java/com/xujie/sys/modules/ecss/entity/PropertyModelHeaderData.java new file mode 100644 index 00000000..64467270 --- /dev/null +++ b/src/main/java/com/xujie/sys/modules/ecss/entity/PropertyModelHeaderData.java @@ -0,0 +1,28 @@ +package com.xujie.sys.modules.ecss.entity; + +import com.xujie.sys.modules.attrbute.entity.PropertyItem; +import com.xujie.sys.modules.attrbute.entity.PropertyModelHeader; +import lombok.Data; +import org.apache.ibatis.type.Alias; + +import java.util.List; +@Data +@Alias("PropertyModelHeaderData") +public class PropertyModelHeaderData extends PropertyModelHeader { + private Integer flag; + // 项目编码 + private String itemNo; + // 项目名称 + private String itemDesc; + private String userId; + + private List menuList; + + private String group; + + private String buNo; + private String partNo; + private String functionTypeDesc; + private String functionGroupDesc; + private List list; +} diff --git a/src/main/java/com/xujie/sys/modules/ecss/mapper/CoDelMapper.java b/src/main/java/com/xujie/sys/modules/ecss/mapper/CoDelMapper.java index b027f5cb..4b55a35f 100644 --- a/src/main/java/com/xujie/sys/modules/ecss/mapper/CoDelMapper.java +++ b/src/main/java/com/xujie/sys/modules/ecss/mapper/CoDelMapper.java @@ -2,6 +2,7 @@ package com.xujie.sys.modules.ecss.mapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.xujie.sys.modules.attrbute.entity.PropertyItem; import com.xujie.sys.modules.attrbute.entity.PropertyModelHeader; import com.xujie.sys.modules.ecss.data.EcssCoDelNotifyData; import com.xujie.sys.modules.ecss.data.EcssCoDelNotifyDetailData; @@ -9,8 +10,11 @@ import com.xujie.sys.modules.ecss.data.EcssCoDelNotifyHeaderData; import com.xujie.sys.modules.ecss.data.EcssHsCodeData; import com.xujie.sys.modules.ecss.entity.EcssCoDelNotifyDetail; import com.xujie.sys.modules.ecss.entity.EcssCoDelNotifyHeader; +import com.xujie.sys.modules.ecss.entity.PropertyItemData; import com.xujie.sys.modules.orderIssure.entity.PartData; import com.xujie.sys.modules.orderIssure.entity.SOIssueNotifyHeaderData; +import com.xujie.sys.modules.part.entity.PartSubPropertiesValue; +import com.xujie.sys.modules.part.entity.PartSubPropertiesValueData; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -54,5 +58,29 @@ public interface CoDelMapper { void updateHsCodeData(EcssHsCodeData inData); + void deleteHsCode(EcssHsCodeData inData); + + List searchPropertiesItemList(@Param("site") String site, + @Param("itemNo")String itemNo, + @Param("buNo") String buNo, + @Param("itemDesc")String itemDesc, + @Param("itemType")String itemType); + List getPropertiesListByPartAndCodeNo(PartSubPropertiesValueData inData); + + + void updatePropertiesList(PartSubPropertiesValue inData); + + + void saveSubPropertiesValueForAlone(PartSubPropertiesValueData inData); + + void deleteSubPropertiesValueForAlone(PartSubPropertiesValueData inData); + + + Double getNewSeqNoForAlone(PartSubPropertiesValueData inData); + + List searchPropertiesUnChoose(@Param("site")String site, + @Param("buNo")String buNo, + @Param("codeType")String codeType, + @Param("list") List list); } diff --git a/src/main/java/com/xujie/sys/modules/ecss/service/CoDelService.java b/src/main/java/com/xujie/sys/modules/ecss/service/CoDelService.java index d6761b79..6206d4c5 100644 --- a/src/main/java/com/xujie/sys/modules/ecss/service/CoDelService.java +++ b/src/main/java/com/xujie/sys/modules/ecss/service/CoDelService.java @@ -1,12 +1,17 @@ package com.xujie.sys.modules.ecss.service; import com.xujie.sys.common.utils.PageUtils; +import com.xujie.sys.modules.attrbute.entity.PropertyItem; import com.xujie.sys.modules.ecss.data.EcssCoDelNotifyData; import com.xujie.sys.modules.ecss.data.EcssCoDelNotifyDetailData; import com.xujie.sys.modules.ecss.data.EcssCoDelNotifyHeaderData; import com.xujie.sys.modules.ecss.data.EcssHsCodeData; +import com.xujie.sys.modules.ecss.entity.PropertyItemData; +import com.xujie.sys.modules.ecss.entity.PropertyModelHeaderData; import com.xujie.sys.modules.orderIssure.entity.SOIssueNotifyHeaderData; +import com.xujie.sys.modules.part.entity.PartSubPropertiesValue; +import com.xujie.sys.modules.part.entity.PartSubPropertiesValueData; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.multipart.MultipartFile; @@ -36,4 +41,13 @@ public interface CoDelService { PageUtils searchHsCodeData(EcssHsCodeData data); void saveHSCodeData(EcssHsCodeData data); + List getPropertiesListByPartAndCodeNo(PartSubPropertiesValueData inData); + void updatePropertiesList(List data); + List searchPropertiesItemList(PropertyModelHeaderData inData); + void saveSubPropertiesValueForAlone(List inData); + + void deleteSubPropertiesValueForAlone(List inData); + + void deleteHsCode(EcssHsCodeData data); + } diff --git a/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java b/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java index 87c3c19e..4ee0c3de 100644 --- a/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java @@ -6,14 +6,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.xujie.sys.common.utils.DateUtils; import com.xujie.sys.common.utils.PageUtils; +import com.xujie.sys.modules.attrbute.entity.PropertyItem; import com.xujie.sys.modules.attrbute.entity.PropertyModelHeader; import com.xujie.sys.modules.ecss.data.EcssCoDelNotifyData; import com.xujie.sys.modules.ecss.data.EcssCoDelNotifyDetailData; import com.xujie.sys.modules.ecss.data.EcssCoDelNotifyHeaderData; import com.xujie.sys.modules.ecss.data.EcssHsCodeData; -import com.xujie.sys.modules.ecss.entity.EcssCoDelNotify; -import com.xujie.sys.modules.ecss.entity.EcssCoDelNotifyDetail; -import com.xujie.sys.modules.ecss.entity.EcssCoDelNotifyHeader; +import com.xujie.sys.modules.ecss.entity.*; import com.xujie.sys.modules.ecss.mapper.CoDelMapper; import com.xujie.sys.modules.ecss.service.CoDelService; import com.xujie.sys.modules.orderIssure.entity.PartData; @@ -325,7 +324,10 @@ public class CoDelServiceImpl implements CoDelService { IPage resultList = coDelMapper.searchHsCodeData(new Page(data.getPage(), data.getLimit()), data); return new PageUtils(resultList); } - + @Override + public void deleteHsCode(EcssHsCodeData data){ + coDelMapper.deleteHsCode(data); + } @Override @Transactional public void saveHSCodeData(EcssHsCodeData inData){ @@ -377,4 +379,61 @@ public class CoDelServiceImpl implements CoDelService { } } + + @Override + public List searchPropertiesItemList(PropertyModelHeaderData inData) { + String functionType = inData.getFunctionType(); + + List list = inData.getList().stream().map(PropertyItemData::getPropertiesItemNo).collect(Collectors.toList()); + + + return coDelMapper.searchPropertiesUnChoose(inData.getSite(), inData.getBuNo(),functionType, list); + + } + + @Override + @Transactional + public List getPropertiesListByPartAndCodeNo(PartSubPropertiesValueData inData){ + //公共参数 + String recordType = inData.getRecordType(); + List result = null; + + result = coDelMapper.getPropertiesListByPartAndCodeNo(inData); + + for (int i = 0; i < result.size(); i++) { + if ("Y".equals(result.get(i).getValueChooseFlag())) { + + List availableList = partInformationMapper.getAvailableValueList(result.get(i)); + result.get(i).setAvailableValueList(availableList); + + } + } + return result; + } + @Override + @Transactional + public void updatePropertiesList(List data){ + + for (PartSubPropertiesValue itemDate : data){ + coDelMapper.updatePropertiesList(itemDate); + } + } + + @Override + @Transactional + public void saveSubPropertiesValueForAlone(List inData){ + for (int i = 0; i inData){ + for (int i = 0; i + + + + + + update part_sub_properties_value + set text_value=#{textValue}, + num_value=#{numValue,jdbcType=DOUBLE} + where Site = #{site} + and code_no = #{codeNo} + and part_no = #{partNo} + and sub_code_seq_no = #{subCodeSeqNo} + and item_no = #{itemNo} + and bu_no=#{buNo} + + + + insert into part_sub_properties_value ( part_no, site, bu_no, code_no, sub_code_seq_no, sub_code_desc, + item_no, properties_item_no, text_value, num_value, record_type) + select + #{partNo}, + #{site}, + #{buNo}, + #{codeNo}, + 1, + d.code_desc, + #{itemNo,jdbcType=DOUBLE}, + c.item_no, + case when c.value_type_db = 'T' then c.default_value else null end, + case when c.value_type_db = 'N' and c.default_value != '' then c.default_value else null end, + #{recordType} + from plm_properties_item c + left join plm_properties_model_header d on c.site=d.site and d.code_no=#{codeNo} + where c.Item_No = #{propertiesItemNo} + and c.site = #{site} + and c.bu_no=#{buNo} + and c.item_Type = #{recordType} + + + delete + from part_sub_properties_value + where a.site = #{site} + and a.record_type = #{recordType} + and a.bu_no=#{buNo} + and a.code_no = #{codeNo} + AND a.part_no = #{partNo,jdbcType=VARCHAR} + + + + \ No newline at end of file