虚拟清单更新log+发布修改

This commit is contained in:
xiejunyu
2022-05-16 18:06:35 +08:00
parent 273540d376
commit deb12438df
4 changed files with 229 additions and 145 deletions
@@ -106,6 +106,8 @@ public class DummyInventoryInfoEO implements Serializable {
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private java.util.Date xin1Che1Xing2Shi2Shi1Ri4Qi1;
@TableField(exist = false)
private String xin1Che1Xing2Shi2Shi1Ri4Qi1String;
/**在产车实施日期*/
@Excel(name = "在产车实施日期", width = 15,format = "yyyy-MM-dd")
@@ -113,6 +115,8 @@ public class DummyInventoryInfoEO implements Serializable {
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private java.util.Date implementTime;
@TableField(exist = false)
private String implementTimeString;
/**对应标准*/
@Excel(name = "对应标准", width = 15)
@@ -13,13 +13,19 @@ import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.document.service.impl.BussDocumentLibraryEOServiceImpl;
import com.jero.modules.domain.service.DomainUserRelService;
import com.jero.modules.dummy.entity.*;
import com.jero.modules.dummy.entity.DummyContentChangeEO;
import com.jero.modules.dummy.entity.DummyInventoryBaseEO;
import com.jero.modules.dummy.entity.DummyInventoryInfoEO;
import com.jero.modules.dummy.entity.DummyReadEO;
import com.jero.modules.dummy.enums.DummyInventoryBaseFieldEnum;
import com.jero.modules.dummy.enums.InventoryStateEnum;
import com.jero.modules.dummy.enums.ReadFlagEnum;
import com.jero.modules.dummy.mapper.DummyContentChangeEOMapper;
import com.jero.modules.dummy.mapper.DummyInventoryBaseEOMapper;
import com.jero.modules.dummy.service.*;
import com.jero.modules.dummy.service.IDummyContentChangeEOService;
import com.jero.modules.dummy.service.IDummyInventoryBaseEOService;
import com.jero.modules.dummy.service.IDummyInventoryInfoEOService;
import com.jero.modules.dummy.service.IDummyReadEOService;
import com.jero.modules.dummy.util.ListDiff;
import com.jero.modules.feishu.service.IFeishuService;
import com.jero.modules.system.entity.SysAnnouncement;
@@ -40,6 +46,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -78,8 +85,7 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
private SysDictItemMapper sysDictItemMapper;
@Autowired
private DummyContentChangeEOMapper dummyContentChangeEOMapper;
@Autowired
private IDummyLogEOService dummyLogEOService;
/**
* 保存
*
@@ -321,21 +327,20 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
List<String> sameSerialNumberList = infoCJBaseSerialNumberList.stream().filter(t -> dummyInventoryInfoEOSerialNumberList.contains(t)).collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(sameSerialNumberList)) {
for (String sameSerialNumber : sameSerialNumberList) {
//查询传入里包含共有编号的数据
for(DummyInventoryInfoEO dummyInventoryInfoEO :dummyInventoryInfoEOList){
if (dummyInventoryInfoEO.getSerialNumber().equals(sameSerialNumber)) {
sameDummyInventoryInfoEOList.add(dummyInventoryInfoEO);
}
}
DummyInventoryInfoEO sameInfoEO = dummyInventoryInfoEOList.stream().filter(e->e.getSerialNumber().equals(sameSerialNumber)).collect(Collectors.toList()).get(0);
sameDummyInventoryInfoEOList.add(sameInfoEO);
//查询数据库里包含共有编号的数据
for (DummyInventoryInfoEO midInfoCJ : infoCJList) {
if (midInfoCJ.getSerialNumber().equals(sameSerialNumber)) {
sameinfoCJList.add(midInfoCJ);
}
}
DummyInventoryInfoEO sameInfoCJ = infoCJList.stream().filter(e -> e.getSerialNumber().equals(sameSerialNumber)).collect(Collectors.toList()).get(0);
sameinfoCJList.add(sameInfoCJ);
}
/* for (String sameSerialNumber : sameSerialNumberList) {
//查询数据库里包含共有编号的数据
DummyInventoryInfoEO sameInfoCJ = infoCJList.stream().filter(e -> e.getSerialNumber().equals(sameSerialNumber)).collect(Collectors.toList()).get(0);
sameinfoCJList.add(sameInfoCJ);
}*/
}
}
@@ -345,11 +350,7 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
List<Map<String, String>> infoDiffList=new ArrayList<>();
for (int i = 0; i < sameinfoCJList.size(); i++) {
try {//!!!
infoDiff = ListDiff.compareObject(sameinfoCJList.get(i), sameDummyInventoryInfoEOList.get(i));
}catch (Exception e){
e.printStackTrace();
}
if (MapUtils.isNotEmpty(infoDiff)) {
if(infoDiff.size() > 1) {
infoDiffList.add(infoDiff);
@@ -429,21 +430,6 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
}
}
/**
* 设置更新log
*
*/
private void updateLog(String contentLog,String baseId) {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if (StringUtils.isNotBlank(contentLog)) {
DummyLogEO dummyLogEO = new DummyLogEO();
dummyLogEO.setDummyInventoryBaseId(baseId);
dummyLogEO.setLogContent(contentLog);
dummyLogEO.setCreateBy(sysUser.getUsername());
dummyLogEOService.add(dummyLogEO);
}
}
public void disposeData(List<DummyInventoryInfoEO> records) {
Set<String> technologyTerritorySet = new HashSet<>();
for (DummyInventoryInfoEO dummyInventoryInfoEO : records) {
@@ -466,11 +452,7 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
for (String technologyTerritory : technologyTerritoryList) {
List<SysCategory> collect = categoryList.stream().filter(e -> technologyTerritory.equals(e.getId())).collect(Collectors.toList());
if (collect.size() != 0) {
// if (CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())) {
sb.append(collect.get(0).getName() + ",");
// } else {
// sb.append(collect.get(0).getEnName()+ ",");
// }
}
}
String technologyTerritoryName = null;
@@ -478,6 +460,8 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
technologyTerritoryName = sb.substring(0, sb.length() - 1);
}
dummyInventoryInfoEO.setTechnologyTerritoryName(technologyTerritoryName);
}else{
dummyInventoryInfoEO.setTechnologyTerritoryName("");
}
//适用范围
@@ -490,6 +474,8 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
shi4Yong4Fan4Wei2Builder.append(shi4Yong4Fan4Wei2Name).append(",");
}
dummyInventoryInfoEO.setShi4Yong4Fan4Wei2(shi4Yong4Fan4Wei2Builder.substring(0, shi4Yong4Fan4Wei2Builder.toString().length() - 1));
}else{
dummyInventoryInfoEO.setShi4Yong4Fan4Wei2("");
}
//适用地区
if (StringUtils.isNotBlank(dummyInventoryInfoEO.getRegion())) {
@@ -501,6 +487,8 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
regionBuilder.append(regionName).append(",");
}
dummyInventoryInfoEO.setRegion(regionBuilder.substring(0, regionBuilder.toString().length() - 1));
}else {
dummyInventoryInfoEO.setRegion("");
}
//责任领域
if (StringUtils.isNotBlank(dummyInventoryInfoEO.getDutyTerritory())) {
@@ -513,40 +501,73 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
}
dummyInventoryInfoEO.setDutyTerritory(dutyTerritoryBuilder.substring(0, dutyTerritoryBuilder.toString().length() - 1));
}
else {
dummyInventoryInfoEO.setDutyTerritory("");
}
//实施类别
if (StringUtils.isNotBlank(dummyInventoryInfoEO.getImplementType())) {
List<SysDictItem> implementType = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseFieldEnum.IMPLEMENT_TYPE.getValue());
String implementTypeName = implementType.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getImplementType())).map(f -> f.getItemText()).collect(Collectors.joining(","));
dummyInventoryInfoEO.setImplementType(implementTypeName);
}else {
dummyInventoryInfoEO.setImplementType("");
}
//认证级别
//认证类型
if(StringUtils.isNotBlank(dummyInventoryInfoEO.getAttestationType())) {
List<SysDictItem> attestationType = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseFieldEnum.ATTESTATION_TYPE.getValue());
String attestationTypeName = attestationType.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getAttestationType())).map(f -> f.getItemText()).collect(Collectors.joining(","));
dummyInventoryInfoEO.setAttestationType(attestationTypeName);
}else {
dummyInventoryInfoEO.setAttestationType("");
}
//认证级别
if (StringUtils.isNotBlank(dummyInventoryInfoEO.getAttestationRank())) {
List<SysDictItem> attestationRank = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseFieldEnum.ATTESTATION_RANK.getValue());
String attestationRankName = attestationRank.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getAttestationRank())).map(f -> f.getItemText()).collect(Collectors.joining(","));
dummyInventoryInfoEO.setAttestationRank(attestationRankName);
}else {
dummyInventoryInfoEO.setAttestationRank("");
}
//新车型实施日期
if (dummyInventoryInfoEO.getXin1Che1Xing2Shi2Shi1Ri4Qi1() != null) {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String dateString = sdf.format(dummyInventoryInfoEO.getXin1Che1Xing2Shi2Shi1Ri4Qi1());
dummyInventoryInfoEO.setXin1Che1Xing2Shi2Shi1Ri4Qi1String(dateString);
}else {
dummyInventoryInfoEO.setXin1Che1Xing2Shi2Shi1Ri4Qi1String("");
}
//在产车实施日期
if (dummyInventoryInfoEO.getImplementTime() != null) {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String dateString = sdf.format(dummyInventoryInfoEO.getImplementTime());
dummyInventoryInfoEO.setImplementTimeString(dateString);
}else {
dummyInventoryInfoEO.setImplementTimeString("");
}
//交付物类型
List<SysDictItem> deliverableTemplate = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseFieldEnum.DELIVERABLE_TEMPLATE.getValue());
//设计符合性确认-交付物类型
if (StringUtils.isNotBlank(dummyInventoryInfoEO.getDesignDeliverableType())) {
String designDeliverableTypeName = deliverableTemplate.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getDesignDeliverableType())).map(f -> f.getItemText()).collect(Collectors.joining(","));
dummyInventoryInfoEO.setDesignDeliverableType(designDeliverableTypeName);
}else {
dummyInventoryInfoEO.setDesignDeliverableType("");
}
//prehomo确认-交付物类型
if (StringUtils.isNotBlank(dummyInventoryInfoEO.getPrehomoDeliverableType())) {
String prehomoDeliverableTypeName = deliverableTemplate.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getPrehomoDeliverableType())).map(f -> f.getItemText()).collect(Collectors.joining(","));
dummyInventoryInfoEO.setPrehomoDeliverableType(prehomoDeliverableTypeName);
}else {
dummyInventoryInfoEO.setPrehomoDeliverableType("");
}
//验证符合性确认-交付物类型
if (StringUtils.isNotBlank(dummyInventoryInfoEO.getVerifyDeliverableType())) {
String verifyDeliverableTypeName = deliverableTemplate.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getVerifyDeliverableType())).map(f -> f.getItemText()).collect(Collectors.joining(","));
dummyInventoryInfoEO.setVerifyDeliverableType(verifyDeliverableTypeName);
}else {
dummyInventoryInfoEO.setVerifyDeliverableType("");
}
//发起人
@@ -555,16 +576,22 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
if (StringUtils.isNotBlank(dummyInventoryInfoEO.getDesignInitiator())) {
String designInitiatorName = fa1_qi3_ren2.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getDesignInitiator())).map(f -> f.getItemText()).collect(Collectors.joining(","));
dummyInventoryInfoEO.setDesignInitiator(designInitiatorName);
}else {
dummyInventoryInfoEO.setDesignInitiator("");
}
//prehomo确认-发起人
if (StringUtils.isNotBlank(dummyInventoryInfoEO.getPrehomoInitiator())) {
String prehomoInitiatorName = fa1_qi3_ren2.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getPrehomoInitiator())).map(f -> f.getItemText()).collect(Collectors.joining(","));
dummyInventoryInfoEO.setPrehomoInitiator(prehomoInitiatorName);
}else {
dummyInventoryInfoEO.setPrehomoInitiator("");
}
//验证符合性确认-发起人
if (StringUtils.isNotBlank(dummyInventoryInfoEO.getVerifyInitiator())) {
String verifyInitiatorName = fa1_qi3_ren2.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getVerifyInitiator())).map(f -> f.getItemText()).collect(Collectors.joining(","));
dummyInventoryInfoEO.setVerifyInitiator(verifyInitiatorName);
}else {
dummyInventoryInfoEO.setVerifyInitiator("");
}
//责任人
@@ -573,16 +600,22 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
if (StringUtils.isNotBlank(dummyInventoryInfoEO.getDesignDuty())) {
String designDutyName = ze2_ren4_ren2.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getDesignDuty())).map(f -> f.getItemText()).collect(Collectors.joining(","));
dummyInventoryInfoEO.setDesignDuty(designDutyName);
}else {
dummyInventoryInfoEO.setDesignDuty("");
}
//prehomo确认-责任人
if (StringUtils.isNotBlank(dummyInventoryInfoEO.getPrehomoDuty())) {
String prehomoDutyName = ze2_ren4_ren2.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getPrehomoDuty())).map(f -> f.getItemText()).collect(Collectors.joining(","));
dummyInventoryInfoEO.setPrehomoDuty(prehomoDutyName);
}else {
dummyInventoryInfoEO.setPrehomoDuty("");
}
//验证符合性确认-责任人
if (StringUtils.isNotBlank(dummyInventoryInfoEO.getVerifyDuty())) {
String verifyDutyName = ze2_ren4_ren2.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getVerifyDuty())).map(f -> f.getItemText()).collect(Collectors.joining(","));
dummyInventoryInfoEO.setVerifyDuty(verifyDutyName);
}else {
dummyInventoryInfoEO.setVerifyDuty("");
}
}
@@ -681,31 +714,25 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
String infoDiffNew = list.get(1);//需要翻译
contentInfo += "(" + infoDiffRow + "). Technology territory has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n";
infoDiffRow++;
//更新log
contentLog = DummyInventoryBaseFieldEnum.TECHNOLOGY_TERRITORY.getName() + "" + infoDiffOld + "改为" + infoDiffNew;
updateLog(contentLog,idTemp);
}
//新车型实施日期
if (StringUtils.isNotBlank(infoDiff.get("xin1Che1Xing2Shi2Shi1Ri4Qi1"))) {
List<String> list = Arrays.asList(infoDiff.get("xin1Che1Xing2Shi2Shi1Ri4Qi1").split(","));
if (StringUtils.isNotBlank(infoDiff.get("xin1Che1Xing2Shi2Shi1Ri4Qi1String"))) {
List<String> list = Arrays.asList(infoDiff.get("xin1Che1Xing2Shi2Shi1Ri4Qi1String").split(","));
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);//需要翻译
contentInfo += "(" + infoDiffRow + "). The implementation date of new model has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n";
infoDiffRow++;
//更新log
contentLog = DummyInventoryBaseFieldEnum.XIN1_CHE1_XING2_SHI2_SHI1_RI4_QI1.getName() + "" + infoDiffOld + "改为" + infoDiffNew;
updateLog(contentLog,idTemp);
}
//在产车实施日期
if (StringUtils.isNotBlank(infoDiff.get("implementTime"))) {
List<String> list = Arrays.asList(infoDiff.get("implementTime").split(","));
if (StringUtils.isNotBlank(infoDiff.get("implementTimeString"))) {
List<String> list = Arrays.asList(infoDiff.get("implementTimeString").split(","));
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);//需要翻译
contentInfo += "(" + infoDiffRow + "). Implement time has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n";
infoDiffRow++;
//更新log
contentLog = DummyInventoryBaseFieldEnum.IMPLEMENT_TIME.getName() + "" + infoDiffOld + "改为" + infoDiffNew;
updateLog(contentLog,idTemp);
}
//WVTA ID
if (StringUtils.isNotBlank(infoDiff.get("wvtaId"))) {
@@ -714,9 +741,6 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
String infoDiffNew = list.get(1);//需要翻译
contentInfo += "(" + infoDiffRow + "). WVTA ID has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n";
infoDiffRow++;
//更新log
contentLog = DummyInventoryBaseFieldEnum.WVTA_ID.getName() + "" + infoDiffOld + "改为" + infoDiffNew;
updateLog(contentLog,idTemp);
}
//子标题
if (StringUtils.isNotBlank(infoDiff.get("subtitle"))) {
@@ -725,9 +749,6 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
String infoDiffNew = list.get(1);//需要翻译
contentInfo += "(" + infoDiffRow + "). Subtitle has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n";
infoDiffRow++;
//更新log
contentLog = DummyInventoryBaseFieldEnum.SUBTITLE.getName() + "" + infoDiffOld + "改为" + infoDiffNew;
updateLog(contentLog,idTemp);
}
//实施类别
if (StringUtils.isNotBlank(infoDiff.get("implementType"))) {
@@ -736,9 +757,6 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
String infoDiffNew = list.get(1);//需要翻译
contentInfo += "(" + infoDiffRow + "). Implement type has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n";
infoDiffRow++;
//更新log
contentLog = DummyInventoryBaseFieldEnum.IMPLEMENT_TYPE.getName() + "" + infoDiffOld + "改为" + infoDiffNew;
updateLog(contentLog,idTemp);
}
//认证类型
if (StringUtils.isNotBlank(infoDiff.get("attestationType"))) {
@@ -747,9 +765,6 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
String infoDiffNew = list.get(1);//需要翻译
contentInfo += "(" + infoDiffRow + "). Attestation type has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n";
infoDiffRow++;
//更新log
contentLog = DummyInventoryBaseFieldEnum.ATTESTATION_TYPE.getName() + "" + infoDiffOld + "改为" + infoDiffNew;
updateLog(contentLog,idTemp);
}
//认证级别
if (StringUtils.isNotBlank(infoDiff.get("attestationRank"))) {
@@ -758,9 +773,6 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
String infoDiffNew = list.get(1);//需要翻译
contentInfo += "(" + infoDiffRow + "). Attestation rank has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n";
infoDiffRow++;
//更新log
contentLog = DummyInventoryBaseFieldEnum.ATTESTATION_RANK.getName() + "" + infoDiffOld + "改为" + infoDiffNew;
updateLog(contentLog,idTemp);
}
//责任领域
if (StringUtils.isNotBlank(infoDiff.get("dutyTerritory"))) {
@@ -769,9 +781,6 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
String infoDiffNew = list.get(1);//需要翻译
contentInfo += "(" + infoDiffRow + "). Duty territory has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n";
infoDiffRow++;
//更新log
contentLog = DummyInventoryBaseFieldEnum.DUTY_TERRITORY.getName() + "" + infoDiffOld + "改为" + infoDiffNew;
updateLog(contentLog,idTemp);
}
//备注
if (StringUtils.isNotBlank(infoDiff.get("remark"))) {
@@ -780,9 +789,6 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
String infoDiffNew = list.get(1);
contentInfo += "(" + infoDiffRow + "). Remark has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n";
infoDiffRow++;
//更新log
contentLog = DummyInventoryBaseFieldEnum.REMARK.getName() + "" + infoDiffOld + "改为" + infoDiffNew;
updateLog(contentLog,idTemp);
}
//设计符合性确认-交付物类型
if (StringUtils.isNotBlank(infoDiff.get("designDeliverableType"))) {
@@ -791,9 +797,6 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
String infoDiffNew = list.get(1);//需要翻译
contentInfo += "(" + infoDiffRow + "). Design deliverable type has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n";
infoDiffRow++;
//更新log
contentLog = DummyInventoryBaseFieldEnum.DESIGN_DELIVERABLE_TYPE.getName() + "" + infoDiffOld + "改为" + infoDiffNew;
updateLog(contentLog,idTemp);
}
//设计符合性确认-交付物模板
if (StringUtils.isNotBlank(infoDiff.get("designDeliverableTemplate"))) {
@@ -802,9 +805,6 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
String infoDiffNew = list.get(1);//需要翻译
contentInfo += "(" + infoDiffRow + "). Design deliverable template has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n";
infoDiffRow++;
//更新log
contentLog = DummyInventoryBaseFieldEnum.DESIGN_DELIVERABLE_TEMPLATE.getName() + "" + infoDiffOld + "改为" + infoDiffNew;
updateLog(contentLog,idTemp);
}
//设计符合性确认-发起人
if (StringUtils.isNotBlank(infoDiff.get("designInitiator"))) {
@@ -813,9 +813,6 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
String infoDiffNew = list.get(1);//需要翻译
contentInfo += "(" + infoDiffRow + "). Design initiator has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n";
infoDiffRow++;
//更新log
contentLog = DummyInventoryBaseFieldEnum.DESIGN_INITIATOR.getName() + "" + infoDiffOld + "改为" + infoDiffNew;
updateLog(contentLog,idTemp);
}
//设计符合性确认-责任人
if (StringUtils.isNotBlank(infoDiff.get("designDuty"))) {
@@ -824,9 +821,6 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
String infoDiffNew = list.get(1);//需要翻译
contentInfo += "(" + infoDiffRow + "). Design duty has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n";
infoDiffRow++;
//更新log
contentLog = DummyInventoryBaseFieldEnum.DESIGN_DUTY.getName() + "" + infoDiffOld + "改为" + infoDiffNew;
updateLog(contentLog,idTemp);
}
//prehomo确认-交付物类型
if (StringUtils.isNotBlank(infoDiff.get("prehomoDeliverableType"))) {
@@ -835,9 +829,6 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
String infoDiffNew = list.get(1);//需要翻译
contentInfo += "(" + infoDiffRow + "). Prehomo deliverable type has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n";
infoDiffRow++;
//更新log
contentLog = DummyInventoryBaseFieldEnum.PREHOMO_DELIVERABLE_TYPE.getName() + "" + infoDiffOld + "改为" + infoDiffNew;
updateLog(contentLog,idTemp);
}
//prehomo确认-交付物模板
if (StringUtils.isNotBlank(infoDiff.get("prehomoDeliverableTemplate"))) {
@@ -846,9 +837,6 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
String infoDiffNew = list.get(1);//需要翻译
contentInfo += "(" + infoDiffRow + "). Prehomo deliverable template has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n";
infoDiffRow++;
//更新log
contentLog = DummyInventoryBaseFieldEnum.PREHOMO_DELIVERABLE_TEMPLATE.getName() + "" + infoDiffOld + "改为" + infoDiffNew;
updateLog(contentLog,idTemp);
}
//prehomo确认-发起人
if (StringUtils.isNotBlank(infoDiff.get("prehomoInitiator"))) {
@@ -857,9 +845,6 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
String infoDiffNew = list.get(1);//需要翻译
contentInfo += "(" + infoDiffRow + "). Prehomo initiator has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n";
infoDiffRow++;
//更新log
contentLog = DummyInventoryBaseFieldEnum.PREHOMO_INITIATOR.getName() + "" + infoDiffOld + "改为" + infoDiffNew;
updateLog(contentLog,idTemp);
}
//prehomo确认-责任人
if (StringUtils.isNotBlank(infoDiff.get("prehomoDuty"))) {
@@ -868,9 +853,6 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
String infoDiffNew = list.get(1);//需要翻译
contentInfo += "(" + infoDiffRow + "). Prehomo duty has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n";
infoDiffRow++;
//更新log
contentLog = DummyInventoryBaseFieldEnum.PREHOMO_DUTY.getName() + "" + infoDiffOld + "改为" + infoDiffNew;
updateLog(contentLog,idTemp);
}
//验证符合性确认-交付物类型
if (StringUtils.isNotBlank(infoDiff.get("verifyDeliverableType"))) {
@@ -879,9 +861,6 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
String infoDiffNew = list.get(1);//需要翻译
contentInfo += "(" + infoDiffRow + "). Verify deliverable type has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n";
infoDiffRow++;
//更新log
contentLog = DummyInventoryBaseFieldEnum.VERIFY_DELIVERABLE_TYPE.getName() + "" + infoDiffOld + "改为" + infoDiffNew;
updateLog(contentLog,idTemp);
}
//验证符合性确认-交付物模板
if (StringUtils.isNotBlank(infoDiff.get("verifyDeliverableTemplate"))) {
@@ -890,9 +869,6 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
String infoDiffNew = list.get(1);//需要翻译
contentInfo += "(" + infoDiffRow + "). Verify deliverable template has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n";
infoDiffRow++;
//更新log
contentLog = DummyInventoryBaseFieldEnum.VERIFY_DELIVERABLE_TEMPLATE.getName() + "" + infoDiffOld + "改为" + infoDiffNew;
updateLog(contentLog,idTemp);
}
//验证符合性确认-发起人
if (StringUtils.isNotBlank(infoDiff.get("verifyInitiator"))) {
@@ -901,9 +877,6 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
String infoDiffNew = list.get(1);//需要翻译
contentInfo += "(" + infoDiffRow + "). Verify initiator has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n";
infoDiffRow++;
//更新log
contentLog = DummyInventoryBaseFieldEnum.VERIFY_INITIATOR.getName() + "" + infoDiffOld + "改为" + infoDiffNew;
updateLog(contentLog,idTemp);
}
//验证符合性确认-责任人
if (StringUtils.isNotBlank(infoDiff.get("verifyDuty"))) {
@@ -912,9 +885,6 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
String infoDiffNew = list.get(1);//需要翻译
contentInfo += "(" + infoDiffRow + "). Verify duty has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n";
infoDiffRow++;
//更新log
contentLog = DummyInventoryBaseFieldEnum.VERIFY_DUTY.getName() + "" + infoDiffOld + "改为" + infoDiffNew;
updateLog(contentLog,idTemp);
}
row++;
}
@@ -11,10 +11,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.DateUtils;
import com.jero.modules.document.entity.BussDocumentLibraryEO;
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
import com.jero.modules.dummy.entity.DummyInventoryInfoEO;
import com.jero.modules.dummy.entity.DummyLogEO;
import com.jero.modules.dummy.enums.DummyInventoryBaseFieldEnum;
import com.jero.modules.dummy.mapper.DummyInventoryInfoEOMapper;
import com.jero.modules.dummy.service.IDummyInventoryInfoEOService;
import com.jero.modules.oss.entity.OSSFile;
@@ -28,21 +31,11 @@ import lombok.SneakyThrows;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.shiro.SecurityUtils;
import org.aspectj.util.FileUtil;
import org.jeecgframework.poi.excel.ExcelExportUtil;
import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -56,22 +49,10 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import java.util.*;
import java.util.stream.Collectors;
import static com.jero.modules.document.service.impl.BussDocumentLibraryEOServiceImpl.copyFile;
@@ -96,7 +77,10 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
private SysDictItemServiceImpl sysDictItemServiceImpl;
@Value(value = "${jero.path.upload}")
private String uploadpath;
@Autowired
private DummyLogEOServiceImpl dummyLogEOService;
@Autowired
private DummyInventoryBaseEOServiceImpl dummyInventoryBaseEOService;
@Override
public IPage<DummyInventoryInfoEO> getPageInfo(DummyInventoryInfoEO dummyInventoryInfoEO,HttpServletRequest req) {
@@ -109,7 +93,20 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
return pageInfo;
}
/**
* 设置更新log
*
*/
private void updateLog(String contentLog,String baseId) {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if (StringUtils.isNotBlank(contentLog)) {
DummyLogEO dummyLogEO = new DummyLogEO();
dummyLogEO.setDummyInventoryBaseId(baseId);
dummyLogEO.setLogContent(contentLog);
dummyLogEO.setCreateBy(sysUser.getUsername());
dummyLogEOService.add(dummyLogEO);
}
}
/**
* 保存
@@ -161,6 +158,12 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
list.add(dummyInventoryInfoEOTemp);
}
this.saveBatch(list);
//更新log
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String username = sysUser.getUsername();
String serialNumber = list.stream().map(e->e.getSerialNumber()).collect(Collectors.joining(","));
String contentLog = username+"向清单中添加了标准\""+serialNumber+"\"";
updateLog(contentLog, dummyInventoryInfoEO.getDummyInventoryBaseId());
}
}
@@ -186,6 +189,7 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
@Override
public void deleteById(String id) {
removeById(id);
}
/**
@@ -214,6 +218,14 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
}
iOSSFileService.removeByIds(fileIdList);
removeByIds(ids);
//更新log
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String username = sysUser.getUsername();
String projectId = dummyInventoryInfoEOList.get(0).getDummyInventoryBaseId();
String serialNumber = dummyInventoryInfoEOList.stream().map(e->e.getSerialNumber()).collect(Collectors.joining(","));
String contentLog = username+"删除了清单中的\""+serialNumber+"\"标准";
updateLog(contentLog, projectId);
}
/**
@@ -259,6 +271,14 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
dummyInventoryInfoEO.setId(UUID.randomUUID().toString().replace("-", ""));
}
this.saveBatch(dummyInventoryInfoEOList);
//更新log
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String username = sysUser.getUsername();
String projectId = dummyInventoryInfoEOList.get(0).getDummyInventoryBaseId();
String serialNumber = dummyInventoryInfoEOList.stream().map(e->e.getSerialNumber()).collect(Collectors.joining(","));
String contentLog = username+"复制了\""+serialNumber+"\"";
updateLog(contentLog, projectId);
}
}
@@ -270,52 +290,135 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
@Override
public void setBatch(DummyInventoryInfoEO dummyInventoryInfoEO) {
if(StringUtils.isNotBlank(dummyInventoryInfoEO.getIds())){
//更新log
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String username = sysUser.getUsername();
String contentLog = username+"批量设置了";
StringBuilder contentLogBuilder = new StringBuilder(contentLog);
//根据id查询数据库中完整信息,翻译
List<String> idList = Arrays.asList(dummyInventoryInfoEO.getIds().split(","));
QueryWrapper<DummyInventoryInfoEO> queryWrapper = new QueryWrapper<>();
List<DummyInventoryInfoEO> infoList = list(queryWrapper.in("id", idList));
String projectId = infoList.get(0).getDummyInventoryBaseId();
dummyInventoryBaseEOService.disposeData(infoList);
//翻译传入的数据
List<DummyInventoryInfoEO> inputList = new ArrayList<>();
inputList.add(dummyInventoryInfoEO);
dummyInventoryBaseEOService.disposeData(inputList);
DummyInventoryInfoEO inputInfoEO = inputList.get(0);
List<DummyInventoryInfoEO> dummyInventoryInfoEOList = new ArrayList<>();
for (String id : dummyInventoryInfoEO.getIds().split(",")) {
DummyInventoryInfoEO info = infoList.stream().filter(e -> id.equals(e.getId())).collect(Collectors.toList()).get(0);
contentLogBuilder.append(info.getSerialNumber() + ":");
DummyInventoryInfoEO dummyInventoryInfoEOTemp = new DummyInventoryInfoEO();
dummyInventoryInfoEOTemp.setId(id);
//实施类别 implementType
if(StringUtils.isNotBlank(dummyInventoryInfoEO.getImplementType())){
if(StringUtils.isNotBlank(dummyInventoryInfoEO.getImplementType())) {
dummyInventoryInfoEOTemp.setImplementType(dummyInventoryInfoEO.getImplementType());
if (StringUtils.isBlank(info.getImplementType())){
info.setImplementType("");
}
if (!info.getImplementType().equals(inputInfoEO.getImplementType())) {
setUpdateContentLog(contentLogBuilder, DummyInventoryBaseFieldEnum.IMPLEMENT_TYPE.getName(), info.getImplementType(), inputInfoEO.getImplementType());
}
}
//认证类型 attestationType
if(StringUtils.isNotBlank(dummyInventoryInfoEO.getAttestationType())){
if(StringUtils.isNotBlank(dummyInventoryInfoEO.getAttestationType())) {
dummyInventoryInfoEOTemp.setAttestationType(dummyInventoryInfoEO.getAttestationType());
if (StringUtils.isBlank(info.getAttestationType())){
info.setAttestationType("");
}
if (!info.getAttestationType().equals(inputInfoEO.getAttestationType())) {
setUpdateContentLog(contentLogBuilder, DummyInventoryBaseFieldEnum.ATTESTATION_TYPE.getName(), info.getAttestationType(), inputInfoEO.getAttestationType());
}
}
//认证级别 attestationRank
if(StringUtils.isNotBlank(dummyInventoryInfoEO.getAttestationRank())){
if(StringUtils.isNotBlank(dummyInventoryInfoEO.getAttestationRank())) {
dummyInventoryInfoEOTemp.setAttestationRank(dummyInventoryInfoEO.getAttestationRank());
if (StringUtils.isBlank(info.getAttestationRank())){
info.setAttestationRank("");
}
if (!info.getAttestationRank().equals(inputInfoEO.getAttestationRank())){
setUpdateContentLog(contentLogBuilder, DummyInventoryBaseFieldEnum.ATTESTATION_RANK.getName(), info.getAttestationRank(), inputInfoEO.getAttestationRank());
}
}
//责任领域 dutyTerritory
if(StringUtils.isNotBlank(dummyInventoryInfoEO.getDutyTerritory())){
if(StringUtils.isNotBlank(dummyInventoryInfoEO.getDutyTerritory())) {
dummyInventoryInfoEOTemp.setDutyTerritory(dummyInventoryInfoEO.getDutyTerritory());
if (StringUtils.isBlank(info.getDutyTerritory())){
info.setDutyTerritory("");
}
if (!info.getDutyTerritory().equals(inputInfoEO.getDutyTerritory())){
setUpdateContentLog(contentLogBuilder, DummyInventoryBaseFieldEnum.DUTY_TERRITORY.getName(), info.getDutyTerritory(), inputInfoEO.getDutyTerritory());
}
}
//适用范围 shi4Yong4Fan4Wei2
if(StringUtils.isNotBlank(dummyInventoryInfoEO.getShi4Yong4Fan4Wei2())){
dummyInventoryInfoEOTemp.setShi4Yong4Fan4Wei2(dummyInventoryInfoEO.getShi4Yong4Fan4Wei2());
if (StringUtils.isBlank(info.getShi4Yong4Fan4Wei2())){
info.setShi4Yong4Fan4Wei2("");
}
if (!info.getShi4Yong4Fan4Wei2().equals(inputInfoEO.getShi4Yong4Fan4Wei2())) {
setUpdateContentLog(contentLogBuilder, DummyInventoryBaseFieldEnum.SHI4_YONG4_FAN4_WEI2.getName(),info.getShi4Yong4Fan4Wei2(),inputInfoEO.getShi4Yong4Fan4Wei2());
}
}
//技术领域 technologyTerritory
if(StringUtils.isNotBlank(dummyInventoryInfoEO.getTechnologyTerritory())){
dummyInventoryInfoEOTemp.setTechnologyTerritory(dummyInventoryInfoEO.getTechnologyTerritory());
if (StringUtils.isBlank(info.getTechnologyTerritoryName())){
info.setTechnologyTerritoryName("");
}
if (!info.getTechnologyTerritoryName().equals(inputInfoEO.getTechnologyTerritoryName())) {
setUpdateContentLog(contentLogBuilder, DummyInventoryBaseFieldEnum.TECHNOLOGY_TERRITORY.getName(),info.getTechnologyTerritoryName(),inputInfoEO.getTechnologyTerritoryName());
}
}
//适用地区 region
if(StringUtils.isNotBlank(dummyInventoryInfoEO.getRegion())){
dummyInventoryInfoEOTemp.setRegion(dummyInventoryInfoEO.getRegion());
if (StringUtils.isBlank(info.getRegion())){
info.setRegion("");
}
if (!info.getRegion().equals(inputInfoEO.getRegion())) {
setUpdateContentLog(contentLogBuilder, DummyInventoryBaseFieldEnum.REGION.getName(),info.getRegion(),inputInfoEO.getRegion());
}
}
//新车实施日期
if(ObjectUtils.isNotEmpty(dummyInventoryInfoEO.getXin1Che1Xing2Shi2Shi1Ri4Qi1())){
dummyInventoryInfoEOTemp.setXin1Che1Xing2Shi2Shi1Ri4Qi1(dummyInventoryInfoEO.getXin1Che1Xing2Shi2Shi1Ri4Qi1());
if (info.getXin1Che1Xing2Shi2Shi1Ri4Qi1() == null){
setUpdateContentLog(contentLogBuilder, DummyInventoryBaseFieldEnum.XIN1_CHE1_XING2_SHI2_SHI1_RI4_QI1.getName(),"",inputInfoEO.getXin1Che1Xing2Shi2Shi1Ri4Qi1String());
}else {
if (!info.getXin1Che1Xing2Shi2Shi1Ri4Qi1String().equals(inputInfoEO.getXin1Che1Xing2Shi2Shi1Ri4Qi1String())) {
setUpdateContentLog(contentLogBuilder, DummyInventoryBaseFieldEnum.XIN1_CHE1_XING2_SHI2_SHI1_RI4_QI1.getName(), info.getXin1Che1Xing2Shi2Shi1Ri4Qi1String(), inputInfoEO.getXin1Che1Xing2Shi2Shi1Ri4Qi1String());
}
}
}
//在产车实施日期
if(ObjectUtils.isNotEmpty(dummyInventoryInfoEO.getImplementTime())){
dummyInventoryInfoEOTemp.setImplementTime(dummyInventoryInfoEO.getImplementTime());
if (info.getImplementTime() == null){
setUpdateContentLog(contentLogBuilder, DummyInventoryBaseFieldEnum.XIN1_CHE1_XING2_SHI2_SHI1_RI4_QI1.getName(),"",inputInfoEO.getXin1Che1Xing2Shi2Shi1Ri4Qi1String());
}else {
if (!info.getImplementTimeString().equals(inputInfoEO.getImplementTimeString())) {
setUpdateContentLog(contentLogBuilder, DummyInventoryBaseFieldEnum.IMPLEMENT_TIME.getName(), info.getImplementTimeString(), inputInfoEO.getImplementTimeString());
}
}
}
dummyInventoryInfoEOList.add(dummyInventoryInfoEOTemp);
}
this.updateBatchById(dummyInventoryInfoEOList);
contentLog = contentLogBuilder.substring(0, contentLogBuilder.length() - 1);
updateLog(contentLog, projectId);
}
}
public StringBuilder setUpdateContentLog(StringBuilder contentLogBuilder,String fieldName,String oldValue,String newValue){
return contentLogBuilder.append("\'"+ fieldName + "\'由" + oldValue + "改为了" + newValue).append(",");
}
/**
* 模板下载
* @param dummyInventoryInfoEO
@@ -1053,6 +1156,8 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
} else {
if (dataList.size() != 0) {
this.saveBatch(dataList);
//////
}
}
}
@@ -22,8 +22,13 @@ public class ListDiff <T> {
if(f.getName().equals("serialNumber")){
result.put(f.getName(),v1.toString());
}
if( ! equals(v1, v2) && !f.getName().contains("create")
&& !f.getName().contains("update") && !f.getName().equals("id")){
//设置排除字段
if( !equals(v1, v2) && !f.getName().contains("create")
&& !f.getName().contains("update") && !f.getName().equals("id")
&& !f.getName().equals("technologyTerritory") &&!f.getName().equals("xin1Che1Xing2Shi2Shi1Ri4Qi1")
&& !f.getName().equals("implementTime") && !f.getName().equals("xin1Che1Xing2Shi2Shi1Ri4Qi1")
&& !f.getName().equals("implementTime")
){
StringBuilder v1String= new StringBuilder(String.valueOf(v1));
StringBuilder v2String= new StringBuilder(String.valueOf(v2));