diff --git a/src/main/java/com/spring/modules/code/controller/CodeItemDefController.java b/src/main/java/com/spring/modules/code/controller/CodeItemDefController.java new file mode 100644 index 00000000..2e8063d3 --- /dev/null +++ b/src/main/java/com/spring/modules/code/controller/CodeItemDefController.java @@ -0,0 +1,40 @@ +package com.spring.modules.code.controller; + +import com.spring.common.utils.R; +import com.spring.modules.code.entity.CodeItemDef; +import com.spring.modules.code.service.CodeItemDefService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("/code/item") +public class CodeItemDefController { + + @Autowired + private CodeItemDefService codeItemDefService; + @PostMapping("/list") + public R searchCodeItemDefs(@RequestBody CodeItemDef codeItemDef) { + List codeItemDefs = codeItemDefService.searchCodeItemDefs(codeItemDef); + return R.ok().put("rows", codeItemDefs); + } + + @PostMapping("/save/batch") + public R saveCodeItemDefs(@RequestBody List codeItemDefs) { + codeItemDefService.saveCodeItemDefs(codeItemDefs); + return R.ok().put("msg","保存成功"); + } + + @PostMapping("/edit/batch") + public R editCodeItemDefs(@RequestBody List codeItemDefs) { + codeItemDefService.editCodeItemDefs(codeItemDefs); + return R.ok().put("msg","修改成功"); + } + + @PostMapping("/remove/batch") + public R removeCodeItemDefs(@RequestBody List codeItemDefs) { + codeItemDefService.removeCodeItemDefs(codeItemDefs); + return R.ok().put("msg","删除成功"); + } +} diff --git a/src/main/java/com/spring/modules/code/controller/CodeItemValueController.java b/src/main/java/com/spring/modules/code/controller/CodeItemValueController.java new file mode 100644 index 00000000..70a3d40c --- /dev/null +++ b/src/main/java/com/spring/modules/code/controller/CodeItemValueController.java @@ -0,0 +1,62 @@ +package com.spring.modules.code.controller; + +import com.spring.common.utils.R; +import com.spring.modules.code.entity.CodeItemValue; +import com.spring.modules.code.service.CodeItemValueService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +@RequestMapping("/code/value") +public class CodeItemValueController { + + @Autowired + private CodeItemValueService codeItemValueService; + @PostMapping("/list") + public R searchCodeItemValueList(@RequestBody CodeItemValue codeItemValue) { + List list = codeItemValueService.searchCodeItemValueList(codeItemValue); + return R.ok().put("rows", null); + } + + @PostMapping("/save") + public R saveCodeItemValue(@RequestBody CodeItemValue codeItemValue) { + codeItemValueService.saveCodeItemValue(codeItemValue); + return R.ok(); + } + + @PostMapping("/save/batch") + public R saveCodeItemValueBatch(@RequestBody List codeItemValueList) { + codeItemValueService.saveCodeItemValueBatch(codeItemValueList); + return R.ok(); + } + + @PostMapping("/remove") + public R removeCodeItemValue(@RequestBody CodeItemValue codeItemValue) { + codeItemValueService.removeCodeItemValue(codeItemValue); + return R.ok(); + } + + @PostMapping("/remove/batch") + public R removeCodeItemValueBatch(@RequestBody List codeItemValueList) { + codeItemValueService.removeCodeItemValueBatch(codeItemValueList); + return R.ok(); + } + + @PostMapping("/edit") + public R updateCodeItemValue(@RequestBody CodeItemValue codeItemValue) { + codeItemValueService.updateCodeItemValue(codeItemValue); + return R.ok(); + } + + @PostMapping("/edit/batch") + public R updateCodeItemValueBatch(@RequestBody List codeItemValueList) { + codeItemValueService.updateCodeItemValueBatch(codeItemValueList); + return R.ok(); + } + +} diff --git a/src/main/java/com/spring/modules/code/entity/CodeItemDef.java b/src/main/java/com/spring/modules/code/entity/CodeItemDef.java new file mode 100644 index 00000000..0eb66452 --- /dev/null +++ b/src/main/java/com/spring/modules/code/entity/CodeItemDef.java @@ -0,0 +1,119 @@ +package com.spring.modules.code.entity; + + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +@TableName("ItemDef") +@Data +public class CodeItemDef { + + /** + * 工厂 + */ + @TableField("site") + private String site; + + /** + * 元素序号 + */ + @TableField("item_no") + private Integer itemNo; + + /** + * 排列次序号 + */ + @TableField("seq_no") + private Integer seqNo; + + /** + * 元素描述 + */ + @TableField("item_desc") + private String itemDesc; + + /** + * 编码位数 + */ + @TableField("bits") + private Integer bits; + + /** + * 前面是否增加分割号 + */ + @TableField("postfix") + private String postfix; + + /** + * 可选值随元素变化而变化 + */ + @TableField("item_by_condition") + private String itemByCondition; + + /** + * 是否是流水号 + */ + @TableField("seq_flag") + private String seqFlag; + + /** + * 元素输入类型 + */ + @TableField("item_type") + private String itemType; + + /** + * 流水号位数 + */ + @TableField("seq_no_bits") + private Integer seqNoBits; + + /** + * 是否参与编码 + */ + @TableField("virtual_item") + private String virtualItem; + + /** + * 流水号参数规则 + */ + @TableField("seq_no_type") + private String seqNoType; + + /** + * 值顺序号 + */ + @TableField("value_seq_no") + private Integer valueSeqNo; + + /** + * 固定值 + */ + @TableField("fixed_value_flag") + private String fixedValueFlag; + + /** + * 是否显示在描述中 + */ + @TableField("show_in_desc") + private String showInDesc; + + /** + * 元素描述是否显示在备注中 + */ + @TableField("show_item_desc_in_desc") + private String showItemDescInDesc; + + /** + * 是否显示在备注中 + */ + @TableField("show_in_remark") + private String showInRemark; + + /** + * 元素描述是否显示在备注中 + */ + @TableField("show_item_desc_in_remark") + private String showItemDescInRemark; +} diff --git a/src/main/java/com/spring/modules/code/entity/CodeItemValue.java b/src/main/java/com/spring/modules/code/entity/CodeItemValue.java new file mode 100644 index 00000000..be72adb9 --- /dev/null +++ b/src/main/java/com/spring/modules/code/entity/CodeItemValue.java @@ -0,0 +1,29 @@ +package com.spring.modules.code.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +@TableName("item_value") +@Data +public class CodeItemValue { + + + @TableField("site") + private String site; + + @TableField("item_no") + private Integer itemNo; + + @TableField("condition_id") + private Integer conditionId; + + @TableField("value_no") + private String valueNo; + + @TableField("item_value") + private String itemValue; + + @TableField("value_item_no") + private String valueItemNo; +} diff --git a/src/main/java/com/spring/modules/code/mapper/CodeItemDefMapper.java b/src/main/java/com/spring/modules/code/mapper/CodeItemDefMapper.java new file mode 100644 index 00000000..8c639b15 --- /dev/null +++ b/src/main/java/com/spring/modules/code/mapper/CodeItemDefMapper.java @@ -0,0 +1,9 @@ +package com.spring.modules.code.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.spring.modules.code.entity.CodeItemDef; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface CodeItemDefMapper extends BaseMapper { +} diff --git a/src/main/java/com/spring/modules/code/mapper/CodeItemValueMapper.java b/src/main/java/com/spring/modules/code/mapper/CodeItemValueMapper.java new file mode 100644 index 00000000..045f0cdb --- /dev/null +++ b/src/main/java/com/spring/modules/code/mapper/CodeItemValueMapper.java @@ -0,0 +1,9 @@ +package com.spring.modules.code.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.spring.modules.code.entity.CodeItemValue; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface CodeItemValueMapper extends BaseMapper { +} diff --git a/src/main/java/com/spring/modules/code/service/CodeItemDefService.java b/src/main/java/com/spring/modules/code/service/CodeItemDefService.java new file mode 100644 index 00000000..1fe45ca4 --- /dev/null +++ b/src/main/java/com/spring/modules/code/service/CodeItemDefService.java @@ -0,0 +1,18 @@ +package com.spring.modules.code.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.spring.modules.code.entity.CodeItemDef; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + + +public interface CodeItemDefService extends IService { + List searchCodeItemDefs(CodeItemDef codeItemDef); + + void saveCodeItemDefs(List codeItemDefs); + + void editCodeItemDefs(List codeItemDefs); + + void removeCodeItemDefs(List codeItemDefs); +} diff --git a/src/main/java/com/spring/modules/code/service/CodeItemValueService.java b/src/main/java/com/spring/modules/code/service/CodeItemValueService.java new file mode 100644 index 00000000..2ce2b20f --- /dev/null +++ b/src/main/java/com/spring/modules/code/service/CodeItemValueService.java @@ -0,0 +1,22 @@ +package com.spring.modules.code.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.spring.modules.code.entity.CodeItemValue; + +import java.util.List; + +public interface CodeItemValueService extends IService { + List searchCodeItemValueList(CodeItemValue codeItemValue); + + void saveCodeItemValue(CodeItemValue codeItemValue); + + void removeCodeItemValue(CodeItemValue codeItemValue); + + void updateCodeItemValue(CodeItemValue codeItemValue); + + void saveCodeItemValueBatch(List codeItemValueList); + + void removeCodeItemValueBatch(List codeItemValueList); + + void updateCodeItemValueBatch(List codeItemValueList); +} diff --git a/src/main/java/com/spring/modules/code/service/impl/CodeItemDefServiceImpl.java b/src/main/java/com/spring/modules/code/service/impl/CodeItemDefServiceImpl.java new file mode 100644 index 00000000..7f1c7a91 --- /dev/null +++ b/src/main/java/com/spring/modules/code/service/impl/CodeItemDefServiceImpl.java @@ -0,0 +1,85 @@ +package com.spring.modules.code.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.spring.modules.code.entity.CodeItemDef; +import com.spring.modules.code.entity.CodeItemValue; +import com.spring.modules.code.mapper.CodeItemDefMapper; +import com.spring.modules.code.service.CodeItemDefService; +import com.spring.modules.code.service.CodeItemValueService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.StringUtils; + +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +@Service +@Slf4j +public class CodeItemDefServiceImpl extends ServiceImpl implements CodeItemDefService { + + @Autowired + private CodeItemValueService codeItemValueService; + + @Override + public List searchCodeItemDefs(CodeItemDef codeItemDef) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if (Objects.nonNull(codeItemDef.getSite()) && StringUtils.hasText(codeItemDef.getSite())){ + wrapper.eq(CodeItemDef::getSite,codeItemDef.getSite()); + } + if (Objects.nonNull(codeItemDef.getItemDesc()) && StringUtils.hasText(codeItemDef.getItemDesc())){ + wrapper.like(CodeItemDef::getItemDesc,codeItemDef.getItemDesc()); + } + wrapper.orderByAsc(CodeItemDef::getItemNo); + return list(wrapper); + } + + @Override + @Transactional + public void saveCodeItemDefs(List codeItemDefs) { + if (Objects.isNull(codeItemDefs) || codeItemDefs.isEmpty()){ + return; + } + List list = lambdaQuery().select(CodeItemDef::getItemNo).orderByDesc(CodeItemDef::getItemNo).list(); + int maxItemNo = 0; + if (!list.isEmpty()){ + maxItemNo = list.get(0).getItemNo(); + } + for (CodeItemDef itemDef : codeItemDefs) { + itemDef.setItemNo(++maxItemNo); + } + saveBatch(codeItemDefs); + } + + @Override + @Transactional + public void editCodeItemDefs(List codeItemDefs) { + if (Objects.isNull(codeItemDefs) || codeItemDefs.isEmpty()){ + return; + } + codeItemDefs.forEach(itemDef -> { + update(itemDef,new LambdaQueryWrapper() + .eq(CodeItemDef::getSite,itemDef.getSite()) + .eq(CodeItemDef::getItemNo,itemDef.getItemNo())); + }); + } + + @Override + @Transactional + public void removeCodeItemDefs(List codeItemDefs) { + if (Objects.isNull(codeItemDefs) || codeItemDefs.isEmpty()){ + return; + } + lambdaUpdate() + .eq(CodeItemDef::getSite,codeItemDefs.get(0).getSite()) + .in(CodeItemDef::getItemNo,codeItemDefs.stream().map(CodeItemDef::getItemNo).collect(Collectors.toList())) + .remove(); + codeItemValueService.lambdaUpdate() + .eq(CodeItemValue::getItemNo,codeItemDefs.get(0).getItemNo()) + .eq(CodeItemValue::getSite,codeItemDefs.get(0).getSite()) + .remove(); + } +} diff --git a/src/main/java/com/spring/modules/code/service/impl/CodeItemValueServiceImpl.java b/src/main/java/com/spring/modules/code/service/impl/CodeItemValueServiceImpl.java new file mode 100644 index 00000000..a465bd8e --- /dev/null +++ b/src/main/java/com/spring/modules/code/service/impl/CodeItemValueServiceImpl.java @@ -0,0 +1,88 @@ +package com.spring.modules.code.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.spring.modules.code.entity.CodeItemValue; +import com.spring.modules.code.mapper.CodeItemValueMapper; +import com.spring.modules.code.service.CodeItemValueService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.StringUtils; + +import java.util.List; +import java.util.Objects; + +@Service +@Slf4j +public class CodeItemValueServiceImpl extends ServiceImpl implements CodeItemValueService { + @Override + public List searchCodeItemValueList(CodeItemValue codeItemValue) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if (Objects.nonNull(codeItemValue.getItemNo())){ + wrapper.eq(CodeItemValue::getItemNo, codeItemValue.getItemNo()); + } + if (Objects.nonNull(codeItemValue.getSite()) &&!StringUtils.isEmpty(codeItemValue.getSite().trim())){ + wrapper.eq(CodeItemValue::getSite, codeItemValue.getSite().trim()); + } + return list(); + } + + @Override + @Transactional + public void saveCodeItemValue(CodeItemValue codeItemValue) { + save(codeItemValue); + } + + @Override + @Transactional + public void removeCodeItemValue(CodeItemValue codeItemValue) { + lambdaUpdate() + .eq(CodeItemValue::getItemNo, codeItemValue.getItemNo()) + .eq(CodeItemValue::getSite, codeItemValue.getSite().trim()) + .eq(CodeItemValue::getConditionId, codeItemValue.getConditionId()) + .eq(CodeItemValue::getValueItemNo, codeItemValue.getValueItemNo()) + .remove(); + } + + @Override + @Transactional + public void updateCodeItemValue(CodeItemValue codeItemValue) { + lambdaUpdate().eq(CodeItemValue::getItemNo, codeItemValue.getItemNo()) + .eq(CodeItemValue::getSite, codeItemValue.getSite().trim()) + .eq(CodeItemValue::getConditionId, codeItemValue.getConditionId()) + .eq(CodeItemValue::getValueItemNo, codeItemValue.getValueItemNo()).update(codeItemValue); + } + + @Override + @Transactional + public void saveCodeItemValueBatch(List codeItemValueList) { + if (codeItemValueList.isEmpty()){ + return; + } + saveBatch(codeItemValueList); + } + + @Override + @Transactional + public void removeCodeItemValueBatch(List codeItemValueList) { + if (codeItemValueList.isEmpty()){ + return; + } + lambdaUpdate() + .eq(CodeItemValue::getItemNo, codeItemValueList.get(0).getItemNo()) + .eq(CodeItemValue::getSite, codeItemValueList.get(0).getSite().trim()) + .eq(CodeItemValue::getConditionId, codeItemValueList.get(0).getConditionId()) + .in(CodeItemValue::getValueItemNo, codeItemValueList.stream().map(CodeItemValue::getValueItemNo).toArray()) + .remove(); + } + + @Override + @Transactional + public void updateCodeItemValueBatch(List codeItemValueList) { + if (codeItemValueList.isEmpty()){ + return; + } + codeItemValueList.forEach(this::updateCodeItemValue); + } +} diff --git a/src/main/java/com/spring/modules/project/data/PlmProjectPartData.java b/src/main/java/com/spring/modules/project/data/PlmProjectPartData.java index 742b5e8c..8d6974a8 100644 --- a/src/main/java/com/spring/modules/project/data/PlmProjectPartData.java +++ b/src/main/java/com/spring/modules/project/data/PlmProjectPartData.java @@ -11,6 +11,10 @@ public class PlmProjectPartData extends PlmProjectPart { private String codeDesc; + private String umId; + + private String type; + /** * 项目名称 **/ @@ -100,4 +104,20 @@ public class PlmProjectPartData extends PlmProjectPart { public void setProductGroupName2(String productGroupName2) { this.productGroupName2 = productGroupName2; } + + public String getUmId() { + return umId; + } + + public void setUmId(String umId) { + this.umId = umId; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } } diff --git a/src/main/resources/mapper/project/ProjectDao.xml b/src/main/resources/mapper/project/ProjectDao.xml index 5892a582..4424eae8 100644 --- a/src/main/resources/mapper/project/ProjectDao.xml +++ b/src/main/resources/mapper/project/ProjectDao.xml @@ -373,7 +373,8 @@ product_group_id1, dbo.get_product_group_name(site, product_group_id1, '1') as productGroupName1, product_group_id2, - dbo.get_product_group_name(site, product_group_id2, '2') as productGroupName2 + dbo.get_product_group_name(site, product_group_id2, '2') as productGroupName2, + um_id,type from view_Project_Part where site=#{site} and test_part_no like #{testPartNo} diff --git a/src/main/resources/mapper/quotation/QuotationInformationMapper.xml b/src/main/resources/mapper/quotation/QuotationInformationMapper.xml index cb24e54f..e0f73663 100644 --- a/src/main/resources/mapper/quotation/QuotationInformationMapper.xml +++ b/src/main/resources/mapper/quotation/QuotationInformationMapper.xml @@ -223,7 +223,9 @@ ppp.product_group_id1, dbo.get_product_group_name(ppp.site, ppp.product_group_id1, '1') as productGroupName1, ppp.product_group_id2, - dbo.get_product_group_name(ppp.site, ppp.product_group_id2, '2') as productGroupName2 + dbo.get_product_group_name(ppp.site, ppp.product_group_id2, '2') as productGroupName2, + ppp.um_id, + ppp.type FROM view_Project_Part as ppp LEFT JOIN plm_project_info as ppi on ppp.site = ppi.site and ppp.project_id = ppi.project_id