diff --git a/src/main/java/com/xujie/sys/modules/srm/controller/SrmController.java b/src/main/java/com/xujie/sys/modules/srm/controller/SrmController.java index 28247823..83808790 100644 --- a/src/main/java/com/xujie/sys/modules/srm/controller/SrmController.java +++ b/src/main/java/com/xujie/sys/modules/srm/controller/SrmController.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.xujie.sys.common.utils.R; import com.xujie.sys.modules.project.entity.Project; import com.xujie.sys.modules.project.service.ProjectService; +import com.xujie.sys.modules.srm.data.SrmDocumentListDefinitionData; +import com.xujie.sys.modules.srm.data.SrmDocumentTypeDefinitionData; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -13,5 +15,4 @@ import java.util.List; @RequestMapping("/srm") public class SrmController { - } diff --git a/src/main/java/com/xujie/sys/modules/srm/controller/SrmSupplierShareController.java b/src/main/java/com/xujie/sys/modules/srm/controller/SrmSupplierShareController.java new file mode 100644 index 00000000..0b876249 --- /dev/null +++ b/src/main/java/com/xujie/sys/modules/srm/controller/SrmSupplierShareController.java @@ -0,0 +1,103 @@ +package com.xujie.sys.modules.srm.controller; + +import com.xujie.sys.common.utils.R; +import com.xujie.sys.modules.srm.data.SrmDocumentListDefinitionData; +import com.xujie.sys.modules.srm.data.SrmDocumentTypeDefinitionData; +import com.xujie.sys.modules.srm.data.SrmMaterialFamilyData; +import com.xujie.sys.modules.srm.data.SrmMaterialFamilySupplierData; +import com.xujie.sys.modules.srm.entity.SrmMaterialFamily; +import com.xujie.sys.modules.srm.entity.SrmMaterialFamilySupplier; +import com.xujie.sys.modules.srm.service.SrmMaterialFamilyService; +import com.xujie.sys.modules.srm.service.SrmMaterialFamilySupplierService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("/srmSupplierShare") +public class SrmSupplierShareController { + + @Autowired + private SrmMaterialFamilyService srmMaterialFamilyService; + + @Autowired + private SrmMaterialFamilySupplierService srmMaterialFamilySupplierService; + /** + * 查询物料族数据列表 + * + * @param data 物料族数据查询条件对象 + * @return 返回包含物料族数据列表的响应结果 + */ + @PostMapping(value="/searchMaterialFamilyData") + @ResponseBody + public R searchDocumentTypeListOther(@RequestBody SrmMaterialFamilyData data) { + List rows= srmMaterialFamilyService.searchMaterialFamilyData(data); + return R.ok().put("rows",rows); + } + + /** + * + * @description 保存或更新物料族数据 + * @author 常熟吴彦祖 + * @date 2025/8/28 15:32 + * @return R + */ + @PostMapping(value="/saveOrUpdateFamily") + @ResponseBody + public R saveOrUpdateFamily(@RequestBody SrmMaterialFamilyData data) { + srmMaterialFamilyService.saveOrUpdateFamily(data); + return R.ok(); + } + + + @PostMapping(value="/deleteMaterialFamily") + @ResponseBody + public R deleteMaterialFamily(@RequestBody SrmMaterialFamilyData data) { + srmMaterialFamilyService.deleteMaterialFamily(data); + return R.ok(); + } + + /** + * + * @description + * @author 常熟吴彦祖 + * @date 2025/8/28 16:43 + * @return R + */ + + @PostMapping(value="/searchMaterialFamilySupplierData") + @ResponseBody + public R searchMaterialFamilySupplierData(@RequestBody SrmMaterialFamilySupplierData data) { + List rows=srmMaterialFamilyService.searchMaterialFamilySupplierData(data); + return R.ok().put("rows",rows); + } + + /** + * + * @description 根据物料分配去查没有的供应商 + * @author 常熟吴彦祖 + * @date 2025/8/28 16:53 + * @return R + */ + @PostMapping(value="/searchMaterialFamilySupplierDataOther") + @ResponseBody + public R searchMaterialFamilySupplierDataOther(@RequestBody SrmMaterialFamilySupplierData data) { + List rows=srmMaterialFamilyService.searchMaterialFamilySupplierDataOther(data); + return R.ok().put("rows",rows); + } + + @PostMapping(value="/saveSrmMaterialFamilySupplier") + @ResponseBody + public R saveSrmMaterialFamilySupplier(@RequestBody List data) { + srmMaterialFamilySupplierService.saveSrmMaterialFamilySupplier(data); + return R.ok(); + } + + @PostMapping(value="/deleteSrmMaterialFamilySupplier") + @ResponseBody + public R deleteSrmMaterialFamilySupplier(@RequestBody SrmMaterialFamilySupplierData data) { + srmMaterialFamilySupplierService.deleteSrmMaterialFamilySupplier(data); + return R.ok(); + } +} diff --git a/src/main/java/com/xujie/sys/modules/srm/data/SrmMaterialFamilyData.java b/src/main/java/com/xujie/sys/modules/srm/data/SrmMaterialFamilyData.java new file mode 100644 index 00000000..99a6e08a --- /dev/null +++ b/src/main/java/com/xujie/sys/modules/srm/data/SrmMaterialFamilyData.java @@ -0,0 +1,11 @@ +package com.xujie.sys.modules.srm.data; +import com.xujie.sys.modules.srm.entity.SrmMaterialFamily; +import lombok.Data; +import org.apache.ibatis.type.Alias; + +@Data +@Alias("SrmMaterialFamilyData") +public class SrmMaterialFamilyData extends SrmMaterialFamily { + + private Integer flag; +} diff --git a/src/main/java/com/xujie/sys/modules/srm/data/SrmMaterialFamilySupplierData.java b/src/main/java/com/xujie/sys/modules/srm/data/SrmMaterialFamilySupplierData.java new file mode 100644 index 00000000..514bf886 --- /dev/null +++ b/src/main/java/com/xujie/sys/modules/srm/data/SrmMaterialFamilySupplierData.java @@ -0,0 +1,11 @@ +package com.xujie.sys.modules.srm.data; + +import com.xujie.sys.modules.srm.entity.SrmMaterialFamilySupplier; +import lombok.Data; +import org.apache.ibatis.type.Alias; + +@Data +@Alias("SrmMaterialFamilySupplierData") +public class SrmMaterialFamilySupplierData extends SrmMaterialFamilySupplier { + private String supplierName; +} diff --git a/src/main/java/com/xujie/sys/modules/srm/entity/SrmMaterialFamily.java b/src/main/java/com/xujie/sys/modules/srm/entity/SrmMaterialFamily.java new file mode 100644 index 00000000..5e172655 --- /dev/null +++ b/src/main/java/com/xujie/sys/modules/srm/entity/SrmMaterialFamily.java @@ -0,0 +1,76 @@ +package com.xujie.sys.modules.srm.entity; + +import com.baomidou.mybatisplus.annotation.*; +import java.io.Serializable; + +@TableName("srm_materialFamily") +public class SrmMaterialFamily implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 站点 + */ + @TableField("site") + private String site; + + /** + * 物料家族编号 + */ + @TableField(value = "materialFamilyNo") + private String materialFamilyNo; + + /** + * 物料家族描述 + */ + @TableField("materialFamilyDesc") + private String materialFamilyDesc; + + /** + * 删除标记 N:正常 Y:删除 + */ + // @TableLogic + @TableField("delFlag") + private String delFlag; + + public String getSite() { + return site; + } + + public void setSite(String site) { + this.site = site; + } + + public String getMaterialFamilyNo() { + return materialFamilyNo; + } + + public void setMaterialFamilyNo(String materialFamilyNo) { + this.materialFamilyNo = materialFamilyNo; + } + + public String getMaterialFamilyDesc() { + return materialFamilyDesc; + } + + public void setMaterialFamilyDesc(String materialFamilyDesc) { + this.materialFamilyDesc = materialFamilyDesc; + } + + public String getDelFlag() { + return delFlag; + } + + public void setDelFlag(String delFlag) { + this.delFlag = delFlag; + } + + @Override + public String toString() { + return "SrmMaterialFamily{" + + "site='" + site + '\'' + + ", materialFamilyNo='" + materialFamilyNo + '\'' + + ", materialFamilyDesc='" + materialFamilyDesc + '\'' + + ", delFlag='" + delFlag + '\'' + + '}'; + } +} \ No newline at end of file diff --git a/src/main/java/com/xujie/sys/modules/srm/entity/SrmMaterialFamilySupplier.java b/src/main/java/com/xujie/sys/modules/srm/entity/SrmMaterialFamilySupplier.java new file mode 100644 index 00000000..51dcaa0b --- /dev/null +++ b/src/main/java/com/xujie/sys/modules/srm/entity/SrmMaterialFamilySupplier.java @@ -0,0 +1,65 @@ +package com.xujie.sys.modules.srm.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.models.auth.In; + +import java.io.Serializable; + +@TableName("srm_materialFamily_supplier") +public class SrmMaterialFamilySupplier implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId("id") + private Integer id; + /** + * + */ + @TableField("site") + private String site; + + /** + * + */ + @TableField("materialFamilyNo") + private String materialFamilyNo; + + /** + * + */ + @TableField("supplier_no") + private String supplierNo; + + public String getSite() { + return site; + } + + public void setSite(String site) { + this.site = site; + } + + public String getMaterialFamilyNo() { + return materialFamilyNo; + } + + public void setMaterialFamilyNo(String materialFamilyNo) { + this.materialFamilyNo = materialFamilyNo; + } + + public String getSupplierNo() { + return supplierNo; + } + + public void setSupplierNo(String supplierNo) { + this.supplierNo = supplierNo; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } +} \ No newline at end of file diff --git a/src/main/java/com/xujie/sys/modules/srm/mapper/SrmMaterialFamilyMapper.java b/src/main/java/com/xujie/sys/modules/srm/mapper/SrmMaterialFamilyMapper.java new file mode 100644 index 00000000..0c828c7b --- /dev/null +++ b/src/main/java/com/xujie/sys/modules/srm/mapper/SrmMaterialFamilyMapper.java @@ -0,0 +1,16 @@ +package com.xujie.sys.modules.srm.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.xujie.sys.modules.srm.data.SrmMaterialFamilySupplierData; +import com.xujie.sys.modules.srm.entity.SrmMaterialFamily; +import com.xujie.sys.modules.srm.entity.SrmMaterialFamilySupplier; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface SrmMaterialFamilyMapper extends BaseMapper { + List searchMaterialFamilySupplierData(SrmMaterialFamilySupplierData data); + List searchMaterialFamilySupplierDataOther(SrmMaterialFamilySupplierData data); + +} \ No newline at end of file diff --git a/src/main/java/com/xujie/sys/modules/srm/service/SrmMaterialFamilyService.java b/src/main/java/com/xujie/sys/modules/srm/service/SrmMaterialFamilyService.java new file mode 100644 index 00000000..ad6c46c9 --- /dev/null +++ b/src/main/java/com/xujie/sys/modules/srm/service/SrmMaterialFamilyService.java @@ -0,0 +1,23 @@ +package com.xujie.sys.modules.srm.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.xujie.sys.modules.srm.data.SrmMaterialFamilyData; +import com.xujie.sys.modules.srm.data.SrmMaterialFamilySupplierData; +import com.xujie.sys.modules.srm.entity.SrmMaterialFamily; +import com.xujie.sys.modules.srm.entity.SrmMaterialFamilySupplier; + +import java.util.List; + +public interface SrmMaterialFamilyService extends IService { + + List searchMaterialFamilyData(SrmMaterialFamilyData data); + + + void saveOrUpdateFamily(SrmMaterialFamilyData data); + void deleteMaterialFamily(SrmMaterialFamilyData data); + + List searchMaterialFamilySupplierData(SrmMaterialFamilySupplierData data); + + List searchMaterialFamilySupplierDataOther(SrmMaterialFamilySupplierData data); + +} \ No newline at end of file diff --git a/src/main/java/com/xujie/sys/modules/srm/service/impl/SrmMaterialFamilyServiceImpl.java b/src/main/java/com/xujie/sys/modules/srm/service/impl/SrmMaterialFamilyServiceImpl.java new file mode 100644 index 00000000..3c9d2335 --- /dev/null +++ b/src/main/java/com/xujie/sys/modules/srm/service/impl/SrmMaterialFamilyServiceImpl.java @@ -0,0 +1,97 @@ +package com.xujie.sys.modules.srm.service.impl; + + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.xujie.sys.modules.srm.data.SrmMaterialFamilyData; +import com.xujie.sys.modules.srm.data.SrmMaterialFamilySupplierData; +import com.xujie.sys.modules.srm.entity.SrmMaterialFamily; +import com.xujie.sys.modules.srm.entity.SrmMaterialFamilySupplier; +import com.xujie.sys.modules.srm.mapper.SrmMaterialFamilyMapper; +import com.xujie.sys.modules.srm.mapper.SrmMaterialFamilySupplierMapper; +import com.xujie.sys.modules.srm.service.SrmMaterialFamilyService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +@Service +public class SrmMaterialFamilyServiceImpl extends ServiceImpl implements SrmMaterialFamilyService { + @Autowired + private SrmMaterialFamilyMapper srmMaterialFamilyMapper; + @Autowired + private SrmMaterialFamilySupplierMapper srmMaterialFamilySupplierMapper; + @Override + public List searchMaterialFamilyData(SrmMaterialFamilyData data) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + + if (data.getSite() != null && !data.getSite().isEmpty()) { + queryWrapper.eq("site", data.getSite()); + } + + if (data.getMaterialFamilyNo() != null && !data.getMaterialFamilyNo().isEmpty()) { + queryWrapper.like("materialFamilyNo", data.getMaterialFamilyNo()); + } + + if (data.getMaterialFamilyDesc() != null && !data.getMaterialFamilyDesc().isEmpty()) { + queryWrapper.like("materialFamilyDesc", data.getMaterialFamilyDesc()); + } + if (data.getDelFlag() != null && !data.getDelFlag().isEmpty()) { + queryWrapper.eq("delFlag", data.getDelFlag()); + } + return this.list(queryWrapper); + } + + @Override + public void saveOrUpdateFamily(SrmMaterialFamilyData data){ + SrmMaterialFamily inData = new SrmMaterialFamily(); + inData.setSite(data.getSite()); + inData.setMaterialFamilyNo(data.getMaterialFamilyNo()); + inData.setMaterialFamilyDesc(data.getMaterialFamilyDesc()); + inData.setDelFlag(data.getDelFlag()); + if(data.getFlag()==0){ + //0是新增方法 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("site", data.getSite()); + queryWrapper.eq("materialFamilyNo", data.getMaterialFamilyNo()); + if(!this.list(queryWrapper).isEmpty()){ + throw new RuntimeException( data.getMaterialFamilyNo() + " ,已存在!"); + } + this.save(inData); + }else { + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("site", data.getSite()); + updateWrapper.eq("materialFamilyNo", data.getMaterialFamilyNo()); + + SrmMaterialFamily entity = new SrmMaterialFamily(); + entity.setMaterialFamilyDesc(data.getMaterialFamilyDesc()); + entity.setDelFlag(data.getDelFlag()); + + this.update(entity, updateWrapper); + + } + } + + @Override + public void deleteMaterialFamily(SrmMaterialFamilyData data){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("site", data.getSite()); + queryWrapper.eq("materialFamilyNo", data.getMaterialFamilyNo()); + this.remove(queryWrapper); + } + + @Override + public List searchMaterialFamilySupplierData(SrmMaterialFamilySupplierData data){ + return srmMaterialFamilyMapper.searchMaterialFamilySupplierData(data); + } + + @Override + public List searchMaterialFamilySupplierDataOther(SrmMaterialFamilySupplierData data){ + return srmMaterialFamilyMapper.searchMaterialFamilySupplierDataOther(data); + } + + +} \ No newline at end of file diff --git a/src/main/resources/mapper/srm/SrmMaterialFamilyMapper.xml b/src/main/resources/mapper/srm/SrmMaterialFamilyMapper.xml new file mode 100644 index 00000000..6a146a73 --- /dev/null +++ b/src/main/resources/mapper/srm/SrmMaterialFamilyMapper.xml @@ -0,0 +1,37 @@ + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/mapper/srm/SrmMaterialFamilySupplierMapper.xml b/src/main/resources/mapper/srm/SrmMaterialFamilySupplierMapper.xml new file mode 100644 index 00000000..3c5fa4f7 --- /dev/null +++ b/src/main/resources/mapper/srm/SrmMaterialFamilySupplierMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/main/resources/mapper/srm/SrmSupplierMapper.xml b/src/main/resources/mapper/srm/SrmSupplierMapper.xml index 499aac2a..1c465899 100644 --- a/src/main/resources/mapper/srm/SrmSupplierMapper.xml +++ b/src/main/resources/mapper/srm/SrmSupplierMapper.xml @@ -40,6 +40,7 @@ + EXEC UpdateTransNo #{site}, #{transType} @@ -68,6 +69,7 @@ and a.status like '%' + #{status} + '%' + order by a.request_date desc insert into srm_supplierGroupRequset(site,request_no,request_date,supplier_no,old_supplier_group,new_supplier_group,reason,[status],create_date,create_by) @@ -181,6 +184,7 @@ + order by a.request_date desc