|
|
@@ -27,6 +27,7 @@ import com.github.zuihou.common.constant.BizConstant;
|
|
|
import com.github.zuihou.common.constant.DictionaryType;
|
|
|
import com.github.zuihou.context.BaseContextHandler;
|
|
|
import com.github.zuihou.database.mybatis.conditions.Wraps;
|
|
|
+import com.github.zuihou.database.mybatis.conditions.query.LbqWrapper;
|
|
|
import com.github.zuihou.database.properties.DatabaseProperties;
|
|
|
import com.github.zuihou.file.entity.Attachment;
|
|
|
import com.github.zuihou.file.service.AttachmentService;
|
|
|
@@ -34,6 +35,7 @@ import com.github.zuihou.model.RemoteData;
|
|
|
import com.github.zuihou.utils.BeanPlusUtil;
|
|
|
import com.github.zuihou.utils.StrPool;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.commons.compress.utils.Lists;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.apache.poi.util.StringUtil;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
@@ -624,12 +626,16 @@ public class BomProcedureVersionServiceImpl extends SuperServiceImpl<BomProcedur
|
|
|
|
|
|
List<BomProcedureTray> bomProcedureTrays = bomProcedureTrayService.list(Wraps.<BomProcedureTray>lbQ().eq(BomProcedureTray::getProcedureId,preBomProcedure.getId()));
|
|
|
|
|
|
+ List<BomProcedureTray> procedureTrayList = bean.getProcedureTrayList();
|
|
|
// 插入当前工序的托盘夹具
|
|
|
for(BomProcedureTray tray:bomProcedureTrays){
|
|
|
//添加明细,添加选择的夹具
|
|
|
tray.setId(null);
|
|
|
tray.setProcedureId(currBomProcedure.getId());
|
|
|
tray.setGroupId(currGroupBean.getId());
|
|
|
+ if(procedureTrayList!=null && procedureTrayList.size()>0 && tray.getBizType().equals("2")){
|
|
|
+ tray.setArmorPic(procedureTrayList.get(0).getArmorPic());
|
|
|
+ }
|
|
|
bomProcedureTrayService.save(tray);
|
|
|
}
|
|
|
}
|
|
|
@@ -899,6 +905,9 @@ public class BomProcedureVersionServiceImpl extends SuperServiceImpl<BomProcedur
|
|
|
//固定请求查询上一序
|
|
|
bean.setTrayConf("2");
|
|
|
return getPreProcedureTray( bean);
|
|
|
+ /*
|
|
|
+ //替换工装图
|
|
|
+ return dataList; */
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -923,7 +932,10 @@ public class BomProcedureVersionServiceImpl extends SuperServiceImpl<BomProcedur
|
|
|
//最终需要查询的工艺
|
|
|
BomProcedureVersion targetBomProcedureVersion = null;
|
|
|
for(BomProcedureVersion bomProcedureVersion:list){
|
|
|
+ //boolean bool = bomProcedureVersion.getProcedureTrayList().size()>0 && StringUtils.isNotEmpty(bomProcedureVersion.getProcedureTrayList().get(0).getArmorPic());
|
|
|
if(!"2".equals(bomProcedureVersion.getTrayConf())){//非上一工序
|
|
|
+ //工装图设定处理
|
|
|
+ //if(bool){
|
|
|
targetBomProcedureVersion = bomProcedureVersion;
|
|
|
break;
|
|
|
}
|
|
|
@@ -938,6 +950,21 @@ public class BomProcedureVersionServiceImpl extends SuperServiceImpl<BomProcedur
|
|
|
return procedureTrayList;
|
|
|
}
|
|
|
procedureTrayList = getPreProcedureTray(targetBomProcedureVersion);
|
|
|
+ //工装图片替换
|
|
|
+ if(procedureTrayList.size()>0 && StringUtils.isNotEmpty(procedureTrayList.get(0).getArmorPic())){
|
|
|
+ String armorPic = procedureTrayList.get(0).getArmorPic();
|
|
|
+ BomProcedureTray bomProcedureTray = bomProcedureTrayService.getOne(new LbqWrapper<BomProcedureTray>().eq(BomProcedureTray::getBizType, "2").eq(BomProcedureTray::getProcedureId, bean.getId()));
|
|
|
+ if(null!=bomProcedureTray && StringUtils.isNotEmpty(bomProcedureTray.getArmorPic()) && !bomProcedureTray.getArmorPic().equals(armorPic)){
|
|
|
+ procedureTrayList.get(0).setArmorPic(bomProcedureTray.getArmorPic());
|
|
|
+ }else if(null!=bomProcedureTray && StringUtils.isEmpty(bomProcedureTray.getArmorPic())){
|
|
|
+ //List<Long> ids = list.stream().mapToLong(BomProcedureVersion::getId).boxed().collect(Collectors.toList());
|
|
|
+ long preId = list.stream().mapToLong(BomProcedureVersion::getId).boxed().collect(Collectors.toList()).get(0);
|
|
|
+ BomProcedureTray preProcedureTray = bomProcedureTrayService.getOne(new LbqWrapper<BomProcedureTray>().eq(BomProcedureTray::getProcedureId, preId).eq(BomProcedureTray::getBizType, "2"));
|
|
|
+ if(null!=preProcedureTray && preProcedureTray.getArmorPic()!=armorPic){
|
|
|
+ procedureTrayList.get(0).setArmorPic(preProcedureTray.getArmorPic());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
return procedureTrayList;
|
|
|
}
|
|
|
@@ -1066,6 +1093,113 @@ public class BomProcedureVersionServiceImpl extends SuperServiceImpl<BomProcedur
|
|
|
return targetBomProcedure;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 复制工艺版本
|
|
|
+ *
|
|
|
+ * @param bean
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<BomProcedureVersion> cloneProcedure(BomProcedureVersion bean) {
|
|
|
+ BomVersionInfo versionInfo = bomVersionInfoService.getById(bean.getVersionId());
|
|
|
+ BomVersionInfo bomVersionInfo = BomVersionInfo.builder().build();
|
|
|
+ String[] ignore = new String[]{
|
|
|
+ "id"
|
|
|
+ };
|
|
|
+ //赋值工艺版本数据
|
|
|
+ BeanUtil.copyProperties(versionInfo, bomVersionInfo, ignore);
|
|
|
+ bomVersionInfo.setVersion(versionInfo.getVersion()+".1").setNo(versionInfo.getNo()+"_1").setUseStatus("0").setAuditStatus("0").setRemark(versionInfo.getRemark()+"_克隆版");
|
|
|
+ bomVersionInfoService.save(bomVersionInfo);
|
|
|
+
|
|
|
+ List<BomProcedureVersion> bomProcedureVersionList = baseMapper.selectList(new LbqWrapper<BomProcedureVersion>().eq(BomProcedureVersion::getVersionId, versionInfo.getId()));
|
|
|
+
|
|
|
+ List<BomProcedureVersion> cloneList = Lists.newArrayList();
|
|
|
+ List<BomProcedureMeterial> materialList = Lists.newArrayList();
|
|
|
+ List<BomProcedureProgram> programList = Lists.newArrayList();
|
|
|
+ List<BomProcedureProductionresource> productionresourceList = Lists.newArrayList();
|
|
|
+ List<BomProcedureTray> trayList = Lists.newArrayList();
|
|
|
+ List<BomProcedureTrayGroup> trayGroupList = Lists.newArrayList();
|
|
|
+
|
|
|
+ bomProcedureVersionList.stream().forEach(item->{
|
|
|
+ //处理工艺管理信息
|
|
|
+ BomProcedureVersion bomProcedureVersion = BomProcedureVersion.builder().build();
|
|
|
+ BeanUtil.copyProperties(item, bomProcedureVersion, ignore);
|
|
|
+ bomProcedureVersion.setVersionId(bomVersionInfo.getId());
|
|
|
+ baseMapper.insert(bomProcedureVersion);
|
|
|
+ cloneList.add(bomProcedureVersion);
|
|
|
+
|
|
|
+ //处理工艺零件信息
|
|
|
+ BomProcedureMeterial bomProcedureMeterial = BomProcedureMeterial.builder().build();
|
|
|
+ BomProcedureMeterial sourceMeterial = bomProcedureMeterialService.getOne(new LbqWrapper<BomProcedureMeterial>().eq(BomProcedureMeterial::getProcedureId, item.getId()).last("limit 1"));
|
|
|
+ BeanUtil.copyProperties(sourceMeterial, bomProcedureMeterial, ignore);
|
|
|
+ bomProcedureMeterial.setProcedureId(bomProcedureVersion.getId());
|
|
|
+ materialList.add(bomProcedureMeterial);
|
|
|
+
|
|
|
+ //处理上传程序信息
|
|
|
+ BomProcedureProgram bomProcedureProgram = BomProcedureProgram.builder().build();
|
|
|
+ List<BomProcedureProgram> sourceProgramList = bomProcedureProgramService.list(new LbqWrapper<BomProcedureProgram>().eq(BomProcedureProgram::getProcedureId, item.getId()));
|
|
|
+ if(null!=sourceProgramList && sourceProgramList.size()>0){
|
|
|
+ sourceProgramList.stream().forEach(sourceProgram-> {
|
|
|
+ BeanUtil.copyProperties(sourceProgram, bomProcedureProgram, ignore);
|
|
|
+ bomProcedureProgram.setProcedureId(bomProcedureVersion.getId());
|
|
|
+ programList.add(bomProcedureProgram);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ //处理关联设备
|
|
|
+ BomProcedureProductionresource bomProcedureProductionresource = BomProcedureProductionresource.builder().build();
|
|
|
+ List<BomProcedureProductionresource> sourceProductionresourceList = bomProcedureProductionresourceService.list(new LbqWrapper<BomProcedureProductionresource>().eq(BomProcedureProductionresource::getProcedureId, item.getId()));
|
|
|
+ if(null!=sourceProductionresourceList && sourceProductionresourceList.size()>0){
|
|
|
+ sourceProductionresourceList.stream().forEach(sourceProductionresource-> {
|
|
|
+ BeanUtil.copyProperties(sourceProductionresource, bomProcedureProductionresource, ignore);
|
|
|
+ bomProcedureProductionresource.setProcedureId(bomProcedureVersion.getId());
|
|
|
+ productionresourceList.add(bomProcedureProductionresource);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ //处理子盘和子盘分组
|
|
|
+ List<BomProcedureTray> sourceBomProcedureTrayList = bomProcedureTrayService.list(new LbqWrapper<BomProcedureTray>().eq(BomProcedureTray::getProcedureId, item.getId()));
|
|
|
+ if(null!=sourceBomProcedureTrayList && sourceBomProcedureTrayList.size()>0){
|
|
|
+ sourceBomProcedureTrayList.stream().forEach(sourceBomProcedureTray-> {
|
|
|
+ BomProcedureTray bomProcedureTray = BomProcedureTray.builder().build();
|
|
|
+ BeanUtil.copyProperties(sourceBomProcedureTray, bomProcedureTray, ignore);
|
|
|
+ bomProcedureTray.setProcedureId(bomProcedureVersion.getId());
|
|
|
+ trayList.add(bomProcedureTray);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ //处理子盘分组
|
|
|
+ BomProcedureTrayGroup bomProcedureTrayGroup = BomProcedureTrayGroup.builder().build();
|
|
|
+ List<BomProcedureTrayGroup> sourceBomProcedureTrayGroupList = bomProcedureTrayGroupService.list(new LbqWrapper<BomProcedureTrayGroup>().eq(BomProcedureTrayGroup::getProcedureId, item.getId()));
|
|
|
+ if(null!=sourceBomProcedureTrayGroupList && sourceBomProcedureTrayGroupList.size()>0){
|
|
|
+ sourceBomProcedureTrayGroupList.stream().forEach(sourceBomProcedureTrayGroup-> {
|
|
|
+ BeanUtil.copyProperties(sourceBomProcedureTrayGroup, bomProcedureTrayGroup, ignore);
|
|
|
+ bomProcedureTrayGroup.setProcedureId(bomProcedureVersion.getId());
|
|
|
+ trayGroupList.add(bomProcedureTrayGroup);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+ //复制新增工艺管理数据
|
|
|
+ bomProcedureMeterialService.saveBatch(materialList);
|
|
|
+ if(programList.size()>0){
|
|
|
+ bomProcedureProgramService.saveBatch(programList);
|
|
|
+ }
|
|
|
+ if(productionresourceList.size()>0){
|
|
|
+ bomProcedureProductionresourceService.saveBatch(productionresourceList);
|
|
|
+ }
|
|
|
+ if(trayGroupList.size()>0){
|
|
|
+ bomProcedureTrayGroupService.saveBatch(trayGroupList);
|
|
|
+ }
|
|
|
+ if(trayList.size()>0){
|
|
|
+ bomProcedureTrayService.saveBatch(trayList);
|
|
|
+ }
|
|
|
+
|
|
|
+ return cloneList;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 再次修改配置后同步到正式数据
|
|
|
* @param bean
|