src/main/java/com/whyc/pojo/AttachLock.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/AttachLockService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/MaterialService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/ProductService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/whyc/pojo/AttachLock.java
@@ -16,7 +16,7 @@ @TableName("tb_attach_lock") @ApiModel(value="AttachLock", description="") public class AttachLock implements Serializable { private int id; private Integer id; private int materialId; @TableField(exist = false) src/main/java/com/whyc/service/AttachLockService.java
@@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.whyc.dto.Response; import com.whyc.mapper.AttachLockMapper; import com.whyc.pojo.AttachLock; @@ -63,4 +64,18 @@ }); return new Response().set(1,true,""); } public void getAndInsert(Integer materialIdInDB, Integer materialId) { QueryWrapper<AttachLock> query = Wrappers.query(); query.eq("material_id",materialIdInDB).eq("lock_flag",1).eq("product_id",0); List<AttachLock> attachLocksInDB = mapper.selectList(query); attachLocksInDB.forEach(attachLock -> { attachLock.setId(null); attachLock.setMaterialId(materialId); }); if(attachLocksInDB.size()!=0) { mapper.insertBatchSomeColumn(attachLocksInDB); } } } src/main/java/com/whyc/service/MaterialService.java
@@ -8,10 +8,7 @@ import com.whyc.dto.MaterialCheckDTO; import com.whyc.dto.Response; import com.whyc.mapper.MaterialMapper; import com.whyc.pojo.DocUser; import com.whyc.pojo.Material; import com.whyc.pojo.MaterialHistory; import com.whyc.pojo.ProductBom; import com.whyc.pojo.*; import com.whyc.util.DateUtil; import com.whyc.util.*; import org.apache.commons.codec.binary.Base64; @@ -38,6 +35,9 @@ @Autowired private MaterialHistoryService mhService; @Autowired private AttachLockService attachLockService; //查询所有的散装件信息加设置了替换关系的子件信息 /*public Response getAllMaterial(String category,String subCode,String subName,String subModel,int pageCurr,int pageSize) { @@ -493,33 +493,33 @@ /** * 转移 被复制的附件,到新的物料 * @param fileUrlDir 被复制的附件路径,例如:doc_file\material\8468-0109000512-SHIDA-2455-OLD-ZX_A01 * @param materialDB .fileUrl 被复制的附件路径,例如:doc_file\material\8468-0109000512-SHIDA-2455-OLD-ZX_A01 * @param material 新的物料 * @return 返回被追加文件的文件夹路径 */ @Transactional public Response transferCopiedAttachment(String fileUrlDir, Material material) throws IOException { public Response transferCopiedAttachment(Material materialDB, Material material) throws IOException { String fileUrlDir = materialDB.getFileUrl(); String subModel = material.getSubModel(); subModel = MaterialSpecialCharUtil.transfer(subModel); String dirPathDB = "doc_file" + File.separator + "material" + File.separator + material.getId() + "-"+ material.getSubCode() + "-" + subModel; String dirPath = CommonUtil.getRootFile() + "material" + File.separator + material.getId() + "-"+ material.getSubCode() + "-" + subModel; File dirFile = new File(dirPath); boolean dirFileExist = true; if(!dirFile.exists()){ dirFile.mkdirs(); dirFileExist = false; } FileUtil.copyDirectory(new File(CommonUtil.getProjectDir() + File.separator + fileUrlDir),dirFile); if(!dirFileExist){ //路径不存在,说明是首次上传,设置物料对应的fileUrl //设置物料对应的fileUrl及物料状态 Material temp = new Material(); temp.setId(material.getId()); temp.setFileUrl(dirPathDB); mapper.updateById(temp); } attachLockService.getAndInsert(materialDB.getId(),material.getId()); return new Response().set(1,true,"上传完成"); } src/main/java/com/whyc/service/ProductService.java
@@ -1068,14 +1068,14 @@ materialHistoryService.addBatch(materialHistoryList); } //如果新上传的bom中存在0108、0109开头的物料,(肯定会被识别成新物料,之前的操作已经被插入到表中) // 在数据库存在相同的物料编码存在且不同的物料型号,则将数据库最新的物料的附件复制一份,填充到新的物料表中 // 在数据库存在相同的物料编码存在且不同的物料型号,则将数据库最新的物料的附件复制一份并状态同步,填充到新的物料表中 for (Material material : newMaterialList) { //新物料 String subCode = material.getSubCode(); String subModel = material.getSubModel(); if(subCode.startsWith("0108") || subCode.startsWith("0109")){ Material materialWithSameCodeLatest = mService.getByCodeAndModel(subCode, subModel, false); //附件转移并设置 mService.transferCopiedAttachment(materialWithSameCodeLatest.getFileUrl(),material); mService.transferCopiedAttachment(materialWithSameCodeLatest,material); } }