From 5a3ce73d09dce91930d49fa2b3f55d4ea4718994 Mon Sep 17 00:00:00 2001 From: ruanqi Date: Tue, 18 Feb 2025 17:49:13 +0800 Subject: [PATCH] 666 --- .../ecss/controller/CoDelController.java | 21 +++ .../sys/modules/ecss/data/EcssHsCodeData.java | 13 ++ .../sys/modules/ecss/entity/EcssHsCode.java | 132 ++++++++++++++++++ .../sys/modules/ecss/mapper/CoDelMapper.java | 16 +++ .../modules/ecss/service/CoDelService.java | 6 + .../ecss/service/impl/CoDelServiceImpl.java | 72 +++++++++- .../resources/mapper/ecss/CoDelMapper.xml | 75 ++++++++++ 7 files changed, 333 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/xujie/sys/modules/ecss/data/EcssHsCodeData.java create mode 100644 src/main/java/com/xujie/sys/modules/ecss/entity/EcssHsCode.java 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 adfe4d8b..c007fbad 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 @@ -5,6 +5,7 @@ import com.xujie.sys.common.utils.R; 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.service.CoDelService; @@ -30,6 +31,13 @@ public class CoDelController { return R.ok().put("page", page); } + @PostMapping(value="/searchEcssCoDelNotifyHeaderForCK") + @ResponseBody + public R searchEcssCoDelNotifyHeaderForCK(@RequestBody EcssCoDelNotifyHeaderData data) { + PageUtils page = coDelService.searchEcssCoDelNotifyHeaderForCK(data); + return R.ok().put("page", page); + } + @PostMapping(value="/searchEcssCoDelNotifyDetail") @ResponseBody public R searchEcssCoDelNotifyDetail(@RequestBody EcssCoDelNotifyHeaderData data) { @@ -85,4 +93,17 @@ public class CoDelController { coDelService.cancerConfirmEcssDel(data); return R.ok(); } + + @PostMapping("/searchHsCodeData") + public R searchHsCodeData(@RequestBody EcssHsCodeData data) { + PageUtils page = coDelService.searchHsCodeData(data); + return R.ok().put("page", page); + } + + + @PostMapping("/saveHSCodeData") + public R saveHSCodeData(@RequestBody EcssHsCodeData data) { + coDelService.saveHSCodeData(data); + return R.ok(); + } } diff --git a/src/main/java/com/xujie/sys/modules/ecss/data/EcssHsCodeData.java b/src/main/java/com/xujie/sys/modules/ecss/data/EcssHsCodeData.java new file mode 100644 index 00000000..15c05fd0 --- /dev/null +++ b/src/main/java/com/xujie/sys/modules/ecss/data/EcssHsCodeData.java @@ -0,0 +1,13 @@ +package com.xujie.sys.modules.ecss.data; + +import com.xujie.sys.modules.ecss.entity.EcssHsCode; +import lombok.Data; +import org.apache.ibatis.type.Alias; + +@Data +@Alias("EcssHsCodeData") +public class EcssHsCodeData extends EcssHsCode { + private String username; + private String buDesc; + private Integer addFlag; +} diff --git a/src/main/java/com/xujie/sys/modules/ecss/entity/EcssHsCode.java b/src/main/java/com/xujie/sys/modules/ecss/entity/EcssHsCode.java new file mode 100644 index 00000000..1cc6edd1 --- /dev/null +++ b/src/main/java/com/xujie/sys/modules/ecss/entity/EcssHsCode.java @@ -0,0 +1,132 @@ +package com.xujie.sys.modules.ecss.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.xujie.sys.common.utils.QueryPage; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + + +public class EcssHsCode extends QueryPage { + /** + * + */ + private String site; + + /** + * + */ + private String buNo; + + /** + * + */ + private String hsCode; + + /** + * + */ + private String remark; + + /** + * + */ + private String createBy; + + /** + * + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createDate; + + /** + * + */ + private String updateBy; + + /** + * + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date updateDate; + + /** + * + */ + private String codeNo; + + public String getSite() { + return site; + } + + public void setSite(String site) { + this.site = site; + } + + public String getBuNo() { + return buNo; + } + + public void setBuNo(String buNo) { + this.buNo = buNo; + } + + public String getHsCode() { + return hsCode; + } + + public void setHsCode(String hsCode) { + this.hsCode = hsCode; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getCreateBy() { + return createBy; + } + + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + + public Date getCreateDate() { + return createDate; + } + + public void setCreateDate(Date createDate) { + this.createDate = createDate; + } + + public String getUpdateBy() { + return updateBy; + } + + public void setUpdateBy(String updateBy) { + this.updateBy = updateBy; + } + + public Date getUpdateDate() { + return updateDate; + } + + public void setUpdateDate(Date updateDate) { + this.updateDate = updateDate; + } + + public String getCodeNo() { + return codeNo; + } + + public void setCodeNo(String codeNo) { + this.codeNo = codeNo; + } +} + 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 346c79fd..b027f5cb 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,9 +2,11 @@ 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.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.EcssCoDelNotifyDetail; import com.xujie.sys.modules.ecss.entity.EcssCoDelNotifyHeader; import com.xujie.sys.modules.orderIssure.entity.PartData; @@ -18,6 +20,9 @@ import java.util.List; public interface CoDelMapper { IPage searchEcssCoDelNotifyHeader(Page ecssCoDelNotifyDataPage, @Param("query") EcssCoDelNotifyHeaderData data); + IPage searchEcssCoDelNotifyHeaderForCK(Page ecssCoDelNotifyDataPage, @Param("query") EcssCoDelNotifyHeaderData data); + + List checkEcssCoDelNotifyHeaderByDelNo( @Param("site") String site,@Param("delNo") String delNo); List searchEcssCoDelNotifyDetail(EcssCoDelNotifyHeaderData data); @@ -39,4 +44,15 @@ public interface CoDelMapper { void deleteEcssDelDetail(EcssCoDelNotifyDetail data); void confirmEcssDel(EcssCoDelNotifyHeaderData data); + IPage searchHsCodeData(Page ecssHsCodeDataPage, @Param("query") EcssHsCodeData data); + + List checkHsCodeData(EcssHsCodeData inData); + + List checkPropertiesModel(@Param("site") String site, @Param("buNo") String buNo, @Param("codeNo") String codeNo, @Param("functionType") String functionType); + + void insertHsCodeData(EcssHsCodeData inData); + + void updateHsCodeData(EcssHsCodeData inData); + + } 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 d9e35e16..d6761b79 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 @@ -4,6 +4,7 @@ import com.xujie.sys.common.utils.PageUtils; 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.orderIssure.entity.SOIssueNotifyHeaderData; import org.springframework.web.bind.annotation.RequestBody; @@ -14,6 +15,7 @@ import java.util.List; public interface CoDelService { PageUtils searchEcssCoDelNotifyHeader(EcssCoDelNotifyHeaderData data); + PageUtils searchEcssCoDelNotifyHeaderForCK(EcssCoDelNotifyHeaderData data); List searchEcssCoDelNotifyDetail(EcssCoDelNotifyHeaderData data); void saveEcssCoDelNotifyByExcel(MultipartFile file, EcssCoDelNotifyHeaderData data); @@ -30,4 +32,8 @@ public interface CoDelService { void confirmEcssDel(EcssCoDelNotifyHeaderData data); void cancerConfirmEcssDel(EcssCoDelNotifyHeaderData data); + + PageUtils searchHsCodeData(EcssHsCodeData data); + + void saveHSCodeData(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 8455e3ca..87c3c19e 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,9 +6,11 @@ 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.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; @@ -16,8 +18,8 @@ import com.xujie.sys.modules.ecss.mapper.CoDelMapper; import com.xujie.sys.modules.ecss.service.CoDelService; import com.xujie.sys.modules.orderIssure.entity.PartData; import com.xujie.sys.modules.orderIssure.entity.SOIssueNotifyHeaderData; -import com.xujie.sys.modules.part.entity.PartInformationEntity; -import com.xujie.sys.modules.part.entity.RoutingComponentEntity; +import com.xujie.sys.modules.part.entity.*; +import com.xujie.sys.modules.part.mapper.PartInformationMapper; import com.xujie.sys.modules.part.vo.BomComponentVo; import com.xujie.sys.modules.pms.mapper.EamMapper; import com.xujie.sys.modules.sys.entity.SysUserEntity; @@ -45,6 +47,9 @@ import java.util.stream.Collectors; @Service public class CoDelServiceImpl implements CoDelService { + + @Autowired + private PartInformationMapper partInformationMapper; @Autowired private CoDelMapper coDelMapper; @Autowired @@ -55,7 +60,12 @@ public class CoDelServiceImpl implements CoDelService { return new PageUtils(resultList); } + @Override + public PageUtils searchEcssCoDelNotifyHeaderForCK(EcssCoDelNotifyHeaderData data){ + IPage resultList = coDelMapper.searchEcssCoDelNotifyHeaderForCK(new Page(data.getPage(), data.getLimit()), data); + return new PageUtils(resultList); + } @Override public List searchEcssCoDelNotifyDetail(EcssCoDelNotifyHeaderData data){ return coDelMapper.searchEcssCoDelNotifyDetail(data); @@ -309,4 +319,62 @@ public class CoDelServiceImpl implements CoDelService { data.setNotifyStatus("已下达"); coDelMapper.confirmEcssDel(data); } + + @Override + public PageUtils searchHsCodeData(EcssHsCodeData data){ + IPage resultList = coDelMapper.searchHsCodeData(new Page(data.getPage(), data.getLimit()), data); + return new PageUtils(resultList); + } + + @Override + @Transactional + public void saveHSCodeData(EcssHsCodeData inData){ + SysUserEntity currentUser = (SysUserEntity) SecurityUtils.getSubject().getPrincipal(); + String site= coDelMapper.getSiteByBu(inData.getBuNo()); + List checkModel=coDelMapper.checkPropertiesModel(site,inData.getBuNo(),inData.getCodeNo(),"ECSS"); + if(checkModel.size()==0){ + throw new RuntimeException("属性模板不存在。" ); + } + if(inData.getAddFlag()==0){ + //0是新增 + inData.setCreateBy(currentUser.getUsername()); + inData.setSite(site); + List checkHsCodeData=coDelMapper.checkHsCodeData(inData); + if(checkHsCodeData.size()>0){ + throw new RuntimeException("该BU已经存在了这个HSCode,请检查数据。" ); + } + coDelMapper.insertHsCodeData(inData); + PartSubPropertiesValueData propertiesData=new PartSubPropertiesValueData(); + propertiesData.setSite(site); + propertiesData.setBuNo(inData.getBuNo()); + propertiesData.setCodeNo(inData.getCodeNo()); + propertiesData.setRecordType("ECSS"); + propertiesData.setPartNo(inData.getHsCode()); + partInformationMapper.savePartSubPropertiesValueHeader(propertiesData); + partInformationMapper.savePartSubPropertiesValue(propertiesData); + }else { + inData.setUpdateBy(currentUser.getUsername()); + inData.setSite(site); + List checkHsCodeData=coDelMapper.checkHsCodeData(inData); + if(checkHsCodeData.size()==0){ + throw new RuntimeException("这个HSCode已经不存在,请检查数据。" ); + } + coDelMapper.updateHsCodeData(inData); + PartSubPropertiesValueData propertiesData=new PartSubPropertiesValueData(); + propertiesData.setSite(site); + propertiesData.setBuNo(inData.getBuNo()); + propertiesData.setCodeNo(inData.getCodeNo()); + propertiesData.setRecordType("ECSS"); + propertiesData.setPartNo(inData.getHsCode()); + List checkValueHeaderData= partInformationMapper.checkValueHeaderData(propertiesData); + if(checkValueHeaderData.size()==0){ + partInformationMapper.deletePartSubPropertiesValueHeader(propertiesData); + partInformationMapper.deletePartSubPropertiesValue(propertiesData); + partInformationMapper.savePartSubPropertiesValueHeader(propertiesData); + partInformationMapper.savePartSubPropertiesValue(propertiesData); + } + + + } + } } diff --git a/src/main/resources/mapper/ecss/CoDelMapper.xml b/src/main/resources/mapper/ecss/CoDelMapper.xml index 435072f3..43512d4d 100644 --- a/src/main/resources/mapper/ecss/CoDelMapper.xml +++ b/src/main/resources/mapper/ecss/CoDelMapper.xml @@ -49,6 +49,37 @@ order by a.ready_date desc ,a.delNo desc + + select a.Site,a.BuNo,a.HsCode,a.Remark,a.CreateBy,a.CreateDate,a.UpdateBy,a.UpdateDate,a.codeNo + ,dbo.get_bu_desc(a.site,a.BuNo) as BuDesc + from ecss_hsCode a + left join accessBu D on A.site=D.site and A.BuNo=d.bu_no and D.username=#{query.username} + + + + and D.site is not null + + AND a.bu_no = #{query.buNo} + + + AND a.HsCode like #{query.hsCode} + + + + order by a.CreateDate ,a.HsCode + + + + + + + insert into ecss_hsCode (Site,BuNo,HsCode,Remark,CreateBy,CreateDate,codeNo) + values(#{site},#{buNo},#{hsCode},#{remark},#{createBy},GetDate(),#{codeNo}) + + + + update ecss_hsCode set Remark=#{remark} ,codeNo=#{codeNo} ,UpdateDate=GetDate(),UpdateBy=#{updateBy} + where site=#{site} and buNo=#{buNo} and HsCode=#{hsCode} + + + + + \ No newline at end of file