package com.mandi.fendan.service.impl; import com.mandi.fendan.mapper.SaleBackOrderMapper; import com.mandi.fendan.persist.SaleBackOrder; import com.mandi.fendan.persist.SalesReturn; import com.mandi.fendan.service.SaleBackOrderService; import com.mandi.fendan.service.SaleReturnService; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; @Service public class SaleBackOrderServiceImpl implements SaleBackOrderService { @Resource private SaleBackOrderMapper saleBackOrderMapper; @Resource private SaleReturnService saleReturnService; public void saveOrUpdateOrDelete(SaleBackOrder saleBackOrder) { //更新或新增实体 if(StringUtils.isNotBlank(saleBackOrder.getNewSalesId())){ SaleBackOrder saleBackOrder1 = saleBackOrderMapper.queryById(saleBackOrder.getNewSalesId()); //有主键数据 更新 if(saleBackOrder1!=null){ //有主键数据 并处理状态为删除则删除 if("1".equals(saleBackOrder.getOperState())) { saleBackOrderMapper.deleteByNewSalesId(saleBackOrder.getNewSalesId()); }else{ SaleBackOrder convert = convert(saleBackOrder, saleBackOrder1); saleBackOrderMapper.updateEntity(convert); } }else { //无主键数据 新增 saleBackOrderMapper.saveEntity(saleBackOrder); } } //更新或新增子实体 if(!saleBackOrder.getItemList().isEmpty() || saleBackOrder.getItemList().size()!=0){ List salesReturnList = saleBackOrder.getItemList(); for(SalesReturn salesReturn:salesReturnList){ if(StringUtils.isNotBlank(salesReturn.getItemId())) { SalesReturn salesReturn1=saleReturnService.queryById(salesReturn.getItemId()); //有主键数据 更新 if(salesReturn1!=null){ //有主键数据 并处理状态为删除则删除 if("1".equals(salesReturn.getOperState())) { saleReturnService.deleteByItemId(salesReturn.getItemId()); }else { SalesReturn convert = convertSalesReturn(salesReturn, salesReturn1); saleReturnService.updateEntity(convert); } }else{ //无主键数据 新增 saleReturnService.saveEntity(salesReturn); } } } } } private SalesReturn convertSalesReturn(SalesReturn salesReturn,SalesReturn salesReturn1){ if (StringUtils.isNotBlank(salesReturn.getItemId()) && !salesReturn.getItemId().equals(salesReturn1.getItemId())) { salesReturn1.setItemId(salesReturn.getItemId()); } if (StringUtils.isNotBlank(salesReturn.getBatchNum()) && !salesReturn.getBatchNum().equals(salesReturn1.getBatchNum())) { salesReturn1.setBatchNum(salesReturn.getBatchNum()); } if (StringUtils.isNotBlank(salesReturn.getMaterialName()) && !salesReturn.getMaterialName().equals(salesReturn1.getMaterialName())) { salesReturn1.setMaterialName(salesReturn.getMaterialName()); } if (StringUtils.isNotBlank(salesReturn.getSpecsName()) && !salesReturn.getSpecsName().equals(salesReturn1.getSpecsName())) { salesReturn1.setSpecsName(salesReturn.getSpecsName()); } if (StringUtils.isNotBlank(salesReturn.getJzfmName()) && !salesReturn.getJzfmName().equals(salesReturn1.getJzfmName())) { salesReturn1.setJzfmName(salesReturn.getJzfmName()); } if (StringUtils.isNotBlank(salesReturn.getMaterialSize()) && !salesReturn.getMaterialSize().equals(salesReturn1.getMaterialSize())) { salesReturn1.setMaterialSize(salesReturn.getMaterialSize()); } if (StringUtils.isNotBlank(salesReturn.getOuterPackingSize()) && !salesReturn.getOuterPackingSize().equals(salesReturn1.getOuterPackingSize())) { salesReturn1.setOuterPackingSize(salesReturn.getOuterPackingSize()); } if (salesReturn.getGrossWeight() != null && !salesReturn.getGrossWeight().equals(salesReturn1.getGrossWeight())) { salesReturn1.setGrossWeight(salesReturn.getGrossWeight()); } if (salesReturn.getNetWeight() != null && !salesReturn.getNetWeight().equals(salesReturn1.getNetWeight())) { salesReturn1.setNetWeight(salesReturn.getNetWeight()); } if (StringUtils.isNotBlank(salesReturn.getBackTypeName()) && !salesReturn.getBackTypeName().equals(salesReturn1.getBackTypeName())) { salesReturn1.setBackTypeName(salesReturn.getBackTypeName()); } if (StringUtils.isNotBlank(salesReturn.getBackReason()) && !salesReturn.getBackReason().equals(salesReturn1.getBackReason())) { salesReturn1.setBackReason(salesReturn.getBackReason()); } if (StringUtils.isNotBlank(salesReturn.getAlloyStateName()) && !salesReturn.getAlloyStateName().equals(salesReturn1.getAlloyStateName())) { salesReturn1.setAlloyStateName(salesReturn.getAlloyStateName()); } if (StringUtils.isNotBlank(salesReturn.getItemRemark()) && !salesReturn.getItemRemark().equals(salesReturn1.getItemRemark())) { salesReturn1.setItemRemark(salesReturn.getItemRemark()); } if (StringUtils.isNotBlank(salesReturn.getOperState()) && !salesReturn.getOperState().equals(salesReturn1.getOperState())) { salesReturn1.setOperState(salesReturn.getOperState()); } return salesReturn1; } private SaleBackOrder convert(SaleBackOrder saleBackOrder,SaleBackOrder saleBackOrder1){ if (StringUtils.isNotBlank(saleBackOrder.getNewSalesId()) && !saleBackOrder.getNewSalesId().equals(saleBackOrder1.getNewSalesId())) { saleBackOrder1.setNewSalesId(saleBackOrder.getNewSalesId()); } if (StringUtils.isNotBlank(saleBackOrder.getDocNum()) && !saleBackOrder.getDocNum().equals(saleBackOrder1.getDocNum())) { saleBackOrder1.setDocNum(saleBackOrder.getDocNum()); } if (StringUtils.isNotBlank(saleBackOrder.getDocTime()) && !saleBackOrder.getDocTime().equals(saleBackOrder1.getDocTime())) { saleBackOrder1.setDocTime(saleBackOrder.getDocTime()); } if (StringUtils.isNotBlank(saleBackOrder.getNewAccountNo()) && !saleBackOrder.getNewAccountNo().equals(saleBackOrder1.getNewAccountNo())) { saleBackOrder1.setNewAccountNo(saleBackOrder.getNewAccountNo()); } if (StringUtils.isNotBlank(saleBackOrder.getCreatedBy()) && !saleBackOrder.getCreatedBy().equals(saleBackOrder1.getCreatedBy())) { saleBackOrder1.setCreatedBy(saleBackOrder.getCreatedBy()); } if (StringUtils.isNotBlank(saleBackOrder.getNcDepCode()) && !saleBackOrder.getNcDepCode().equals(saleBackOrder1.getNcDepCode())) { saleBackOrder1.setNcDepCode(saleBackOrder.getNcDepCode()); } if (StringUtils.isNotBlank(saleBackOrder.getUserCode()) && !saleBackOrder.getUserCode().equals(saleBackOrder1.getUserCode())) { saleBackOrder1.setUserCode(saleBackOrder.getUserCode()); } if (StringUtils.isNotBlank(saleBackOrder.getInvoiceNum()) && !saleBackOrder.getInvoiceNum().equals(saleBackOrder1.getInvoiceNum())) { saleBackOrder1.setInvoiceNum(saleBackOrder.getInvoiceNum()); } if (StringUtils.isNotBlank(saleBackOrder.getDocRemark()) && !saleBackOrder.getDocRemark().equals(saleBackOrder1.getDocRemark())) { saleBackOrder1.setDocRemark(saleBackOrder.getDocRemark()); } if (StringUtils.isNotBlank(saleBackOrder.getRcDepCode()) && !saleBackOrder.getRcDepCode().equals(saleBackOrder1.getRcDepCode())) { saleBackOrder1.setRcDepCode(saleBackOrder.getRcDepCode()); } if (StringUtils.isNotBlank(saleBackOrder.getRcLocCompCode()) && !saleBackOrder.getRcLocCompCode().equals(saleBackOrder1.getRcLocCompCode())) { saleBackOrder1.setRcLocCompCode(saleBackOrder.getRcLocCompCode()); } if (StringUtils.isNotBlank(saleBackOrder.getOperState()) && !saleBackOrder.getOperState().equals(saleBackOrder1.getOperState())) { saleBackOrder1.setOperState(saleBackOrder.getOperState()); } return saleBackOrder1; } }