diff --git a/youchain-system/src/main/java/com/youchain/basicdata/domain/Point.java b/youchain-system/src/main/java/com/youchain/basicdata/domain/Point.java index 1a0897c..ab4e2d7 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/domain/Point.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/domain/Point.java @@ -122,7 +122,7 @@ public class Point extends BaseEntity implements Serializable { @OneToOne @JoinColumn(name = "`stock_id`") @ApiModelProperty(value = "容器") - private Stock stock; + private transient Stock stock; public void copy(Point source){ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); } diff --git a/youchain-system/src/main/java/com/youchain/businessdata/domain/Inventory.java b/youchain-system/src/main/java/com/youchain/businessdata/domain/Inventory.java index c9a48e7..4135177 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/domain/Inventory.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/domain/Inventory.java @@ -64,8 +64,7 @@ public class Inventory extends BaseEntity implements Serializable { private ItemKey itemKey; @OneToOne - @JoinColumn(name = "`point_id`", nullable = false) - @NotNull + @JoinColumn(name = "`point_id`") @ApiModelProperty(value = "点位") private Point point; diff --git a/youchain-system/src/main/java/com/youchain/businessdata/rest/AsnDetailController.java b/youchain-system/src/main/java/com/youchain/businessdata/rest/AsnDetailController.java index 6dcfc7a..3ec1872 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/rest/AsnDetailController.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/rest/AsnDetailController.java @@ -157,12 +157,9 @@ public class AsnDetailController { } asnDetailService.create(asnDetail); - //添加订单数量 - if (asnDetail.getOrderQty() != null && asnDetail.getOrderQty() != 0) { - Asn asn = asnDetail.getAsn(); - asn.setOrderQuantity(asn.getOrderQuantity() + asnDetail.getOrderQty()); - asnService.update(asn); - } + //刷新 + asnDetailService.updateAsnStatus(asnDetail.getAsn()); + return new ResponseEntity<>(HttpStatus.OK); } @@ -174,9 +171,9 @@ public class AsnDetailController { public ResponseEntity updateAsnDetail(@Validated @RequestBody AsnDetail resources) { AsnDetailDto byId = asnDetailService.findById(resources.getId()); AsnDto byId1 = asnService.findById(resources.getAsn().getId()); - byId1.setOrderQuantity((byId1.getOrderQuantity() - byId.getOrderQty()) + resources.getOrderQty()); asnDetailService.update(resources); asnService.update(asnMapper.toEntity(byId1)); + asnDetailService.updateAsnStatus(resources.getAsn()); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/AsnDetailService.java b/youchain-system/src/main/java/com/youchain/businessdata/service/AsnDetailService.java index a79d032..343ada4 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/AsnDetailService.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/AsnDetailService.java @@ -19,6 +19,7 @@ import com.youchain.basicdata.domain.Item; import com.youchain.basicdata.domain.Point; import com.youchain.basicdata.domain.Stock; import com.youchain.basicdata.service.dto.StockDto; +import com.youchain.businessdata.domain.Asn; import com.youchain.businessdata.domain.AsnDetail; import com.youchain.businessdata.domain.XppRecord; import com.youchain.businessdata.inputJson.Zhengli; @@ -135,4 +136,10 @@ public interface AsnDetailService { * @param zhengli */ void zhengli(Zhengli zhengli); + + /** + * 更新数量和状态 + * @param asn + */ + void updateAsnStatus(Asn asn); } diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AsnDetailServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AsnDetailServiceImpl.java index 9ee3e8b..642f9cd 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AsnDetailServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AsnDetailServiceImpl.java @@ -19,6 +19,8 @@ import com.youchain.basicdata.domain.Area; import com.youchain.basicdata.domain.Item; import com.youchain.basicdata.domain.Point; import com.youchain.basicdata.domain.Stock; +import com.youchain.basicdata.repository.PointRepository; +import com.youchain.basicdata.repository.StockRepository; import com.youchain.basicdata.service.StockService; import com.youchain.businessdata.domain.*; import com.youchain.businessdata.inputJson.Zhengli; @@ -61,6 +63,8 @@ public class AsnDetailServiceImpl implements AsnDetailService { private final AsnDetailRepository asnDetailRepository; private final TaskRepository taskRepository; private final XppRecordRepository xppRecordRepository; + private final StockRepository stockRepository; + private final PointRepository pointRepository; private final AsnDetailMapper asnDetailMapper; private final EntityManager entityMapper; private final AsnService asnService; @@ -159,8 +163,7 @@ public class AsnDetailServiceImpl implements AsnDetailService { asn.setReceivedQuantity(asn.getReceivedQuantity() - t.getPlanQty()); } - InventoryLog log = inventoryLogService.storeInventoryLog(BizStatus.RECEIVING_CANCEL, BizStatus.REDUCE, null, t.getArea(), t.getItemKey(), t.getDstPoint(), t.getSrcPoint(), null, null, srcQty, t.getPlanQty(), - null, ewm, BizStatus.ASN, inventory.getId(), inventory.getId(), "取消上架"); + InventoryLog log = inventoryLogService.storeInventoryLog(BizStatus.RECEIVING_CANCEL, BizStatus.REDUCE, null, t.getArea(), t.getItemKey(), t.getDstPoint(), t.getSrcPoint(), null, null, srcQty, t.getPlanQty(), null, ewm, BizStatus.ASN, inventory.getId(), inventory.getId(), "取消上架"); taskRepository.delete(t); if (d != null) { this.delete(d.getId()); @@ -227,6 +230,8 @@ public class AsnDetailServiceImpl implements AsnDetailService { public void zhengli(Zhengli zhengli) { AsnDetail asnDetail = asnDetailRepository.findById(zhengli.getId()).get(); Item item = asnDetail.getItem(); + Stock stock = zhengli.getStock(); + Point point = zhengli.getPoint(); if (item.getIsInspection()) { throw new BadRequestException("该商品需要质检,请先完成质检!"); } @@ -235,13 +240,13 @@ public class AsnDetailServiceImpl implements AsnDetailService { ItemKey itemKey = itemKeyService.getItemKey(item, asnDetail.getPropC1(), asnDetail.getPropC3(), asnDetail.getPropC4(), asnDetail.getPropC5(), asnDetail.getPropC6(), asnDetail.getPropD1()); //生成入库记录 - Task task = taskService.storeTask(asnDetail, null, zhengli.getArea(), itemKey, null, zhengli.getPoint(), zhengli.getReceivedQty()); - task.setSrcStockCode(zhengli.getStock().getCode()); - task.setSrcStock(zhengli.getStock()); + Task task = taskService.storeTask(asnDetail, null, zhengli.getArea(), itemKey, null, point, zhengli.getReceivedQty()); + task.setSrcStockCode(stock.getCode()); + task.setSrcStock(stock); taskRepository.save(task); //生成库存记录 - Inventory inventory = inventoryService.getInventory(itemKey, asnDetail.getPoint(), zhengli.getStock(), item.getDept(), BizStatus.ASN); + Inventory inventory = inventoryService.getInventory(itemKey, point, stock, item.getDept(), BizStatus.ASN); inventory.setStatus("待入库"); inventoryService.update(inventory); @@ -257,14 +262,27 @@ public class AsnDetailServiceImpl implements AsnDetailService { //回写收货数量 asnDetail.setStock(zhengli.getStock()); asnDetail.setPoint(zhengli.getPoint()); - asnDetail.setReceivedQty(asnDetail.getReceivedQty()+zhengli.getReceivedQty()); + asnDetail.setReceivedQty(asnDetail.getReceivedQty() + zhengli.getReceivedQty()); asnDetailRepository.save(asnDetail); + //容器绑定 + stock.setPoint(point); + stock.setStatus(BaseStatus.USED); + stock.setDept(item.getDept()); + stockRepository.save(stock); + + if (point != null) { + point.setStatus(BaseStatus.USED); + pointRepository.save(point); + } + + //刷新单头状态 updateAsnStatus(asnDetail.getAsn()); } - private void updateAsnStatus(Asn asn) { + @Override + public void updateAsnStatus(Asn asn) { double orderQty = 0; double receivedQty = 0; List asnDetails = asnDetailRepository.queryByAsnId(asn.getId()); @@ -272,6 +290,8 @@ public class AsnDetailServiceImpl implements AsnDetailService { orderQty += detail.getOrderQty(); receivedQty += detail.getReceivedQty(); } + asn.setOrderQuantity(orderQty); + asn.setReceivedQuantity(receivedQty); if (orderQty == receivedQty) { asn.setStatus(BizStatus.RECEIVED); } else if (receivedQty > 0 && receivedQty < orderQty) { diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/InventoryServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/InventoryServiceImpl.java index a16f866..1ea2e06 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/InventoryServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/InventoryServiceImpl.java @@ -125,65 +125,65 @@ public class InventoryServiceImpl implements InventoryService { @Override public void download(List all, HttpServletResponse response) throws Exception { - List> list=ExcelDownUtils.CreateMap(all,"Inventory"); + List> list = ExcelDownUtils.CreateMap(all, "Inventory"); FileUtil.downloadExcel(list, response); } @Override public void downloadXb(List all, HttpServletResponse response) throws Exception { - List> list=ExcelDownUtils.CreateMap(all,"InvXb"); + List> list = ExcelDownUtils.CreateMap(all, "InvXb"); FileUtil.downloadExcel(list, response); } @Override public void downloadXt(List all, HttpServletResponse response) throws Exception { - List> list=ExcelDownUtils.CreateMap(all,"InvXt"); + List> list = ExcelDownUtils.CreateMap(all, "InvXt"); FileUtil.downloadExcel(list, response); } @Override public void downloadZz(List all, HttpServletResponse response) throws Exception { - List> list=ExcelDownUtils.CreateMap(all,"InvZz"); + List> list = ExcelDownUtils.CreateMap(all, "InvZz"); FileUtil.downloadExcel(list, response); } @Override - public List queryInventoryAllocate(long itemId, long areaId,Long zzkwId) { + public List queryInventoryAllocate(long itemId, long areaId, Long zzkwId) { String hql = " from Inventory inv where 1=1 " + " and inv.itemKey.item.id=" + itemId + " " + " and inv.area.id=" + areaId + " " + " and inv.quantity-inv.queuedQty>0 "; - if(zzkwId!=null){ - hql+=" and inv.zzkw.id="+zzkwId; - hql+="and inv.point.type in ('"+BaseStatus.HCKW+"','"+BaseStatus.ZZKW+"')"; - }else{ - hql+="and inv.point.type='"+BaseStatus.CH+"'"; + if (zzkwId != null) { + hql += " and inv.zzkw.id=" + zzkwId; + hql += "and inv.point.type in ('" + BaseStatus.HCKW + "','" + BaseStatus.ZZKW + "')"; + } else { + hql += "and inv.point.type='" + BaseStatus.CH + "'"; } - hql+= " order by inv.itemKey.propC1 asc "; + hql += " order by inv.itemKey.propC1 asc "; Query query = entityManager.createQuery(hql); List inventoryList = query.getResultList(); return inventoryList; } - public Double getInvQty(long itemId, long areaId,Long zzkwId) { + public Double getInvQty(long itemId, long areaId, Long zzkwId) { String hql = "select sum(inv.quantity-inv.queuedQty) from Inventory inv where 1=1 " + " and inv.itemKey.item.id=" + itemId + " " + " and inv.area.id=" + areaId + " " + " and inv.quantity>0 "; - if(zzkwId!=null){ - hql+=" and inv.zzkw.id="+zzkwId; - hql+="and inv.point.type in ('"+BaseStatus.HCKW+"','"+BaseStatus.ZZKW+"')"; - }else{ - hql+="and inv.point.type='"+BaseStatus.CH+"'"; + if (zzkwId != null) { + hql += " and inv.zzkw.id=" + zzkwId; + hql += "and inv.point.type in ('" + BaseStatus.HCKW + "','" + BaseStatus.ZZKW + "')"; + } else { + hql += "and inv.point.type='" + BaseStatus.CH + "'"; } Query query = entityManager.createQuery(hql); List inventoryList = query.getResultList(); - if(inventoryList.size()>0){ - Object obj=inventoryList.get(0); - if(obj==null){ + if (inventoryList.size() > 0) { + Object obj = inventoryList.get(0); + if (obj == null) { return 0d; - }else{ - return (Double)obj; + } else { + return (Double) obj; } } return 0d; @@ -195,22 +195,22 @@ public class InventoryServiceImpl implements InventoryService { public Inventory getInventory(ItemKey itemKey, Area area, Point point, Point zzkw, Dept dept, String type) { //生成Inventory String hql = " from Inventory inv where 1=1 "; - if(type.equals(BizStatus.SL_ALL)||type.equals(BizStatus.ZZKW_TL)){ - if(zzkw==null){ + if (type.equals(BizStatus.SL_ALL) || type.equals(BizStatus.ZZKW_TL)) { + if (zzkw == null) { throw new BadRequestException(HttpStatus.NOT_FOUND, "制造库位必填"); } - if(!area.getBexb()){ + if (!area.getBexb()) { throw new BadRequestException(HttpStatus.NOT_FOUND, "接收库区必须为线边仓"); } // if(area.getPoint()==null){ - if(area.getPointId()==null){ + if (area.getPointId() == null) { throw new BadRequestException(HttpStatus.NOT_FOUND, "接收库区线边库位必填"); } } - if(type.equals(BizStatus.SL_ALL)){ + if (type.equals(BizStatus.SL_ALL)) { //取库区默认 hql += " and inv.point.id=" + area.getPointId() + " "; - }else{ + } else { if (point != null) { hql += " and inv.point.id=" + point.getId() + " "; } @@ -222,10 +222,10 @@ public class InventoryServiceImpl implements InventoryService { if (dept != null) { hql += " and inv.dept.id=" + dept.getId() + " "; } - if(area.getBexb()) { + if (area.getBexb()) { if (zzkw != null) { hql += " and inv.zzkw.id=" + zzkw.getId() + " "; - }else{ + } else { throw new BadRequestException(HttpStatus.NOT_FOUND, "线边仓制造库位必填"); } } @@ -237,13 +237,13 @@ public class InventoryServiceImpl implements InventoryService { inventory = inventoryList.get(0); } else { //创建Inventory - if (type.equals(BizStatus.ZZKW_TL) ||type.equals(BizStatus.RECEIVING_UP) || type.equals(BizStatus.MOVE)||type.equals(BizStatus.PICK_DOWN)||type.equals(BizStatus.PICK_CANCEL)||type.equals(BizStatus.SL_ALL)||type.equals(BizStatus.MOVE)) { + if (type.equals(BizStatus.ZZKW_TL) || type.equals(BizStatus.RECEIVING_UP) || type.equals(BizStatus.MOVE) || type.equals(BizStatus.PICK_DOWN) || type.equals(BizStatus.PICK_CANCEL) || type.equals(BizStatus.SL_ALL) || type.equals(BizStatus.MOVE)) { inventory = new Inventory(); inventory.setItemKey(itemKey); inventory.setPoint(point); inventory.setPointCode(point.getCode()); - if(zzkw==null){ - zzkw=pointService.getPoint("ZZKW",null,null,null); + if (zzkw == null) { + zzkw = pointService.getPoint("ZZKW", null, null, null); } inventory.setZzkw(zzkw); // inventory.setStock(stock); @@ -258,9 +258,9 @@ public class InventoryServiceImpl implements InventoryService { @Override - public List getXbHyInv(Item item, Area area, String gw, Point zzkw,String type) { + public List getXbHyInv(Item item, Area area, String gw, Point zzkw, String type) { //生成Inventory - String hql = " from Inventory inv where 1=1 and inv.point.type not in ('"+BaseStatus.BHZC+"','"+BaseStatus.SHZC+"')"; + String hql = " from Inventory inv where 1=1 and inv.point.type not in ('" + BaseStatus.BHZC + "','" + BaseStatus.SHZC + "')"; if (item != null) { hql += " and inv.itemKey.item.id=" + item.getId() + " "; } @@ -268,25 +268,25 @@ public class InventoryServiceImpl implements InventoryService { if (zzkw != null) { hql += " and inv.zzkw.id=" + zzkw.getId(); } - if(type.equals("耗用")){//目前只能从暂存库位耗用 + if (type.equals("耗用")) {//目前只能从暂存库位耗用 hql += " and inv.point.id=" + area.getPointId(); } - hql+=" order by inv.itemKey.propC1 asc"; + hql += " order by inv.itemKey.propC1 asc"; Query query = entityManager.createQuery(hql); List inventoryList = query.getResultList(); - return inventoryList; + return inventoryList; } @Override - public List getInventoryXbTl(Item item, Area area,Point point,Point zzkw) { + public List getInventoryXbTl(Item item, Area area, Point point, Point zzkw) { //生成Inventory - String hql = " from Inventory inv where 1=1 and inv.point.id ="+point.getId(); + String hql = " from Inventory inv where 1=1 and inv.point.id =" + point.getId(); hql += " and inv.itemKey.item.id=" + item.getId() + " "; - hql += " and inv.area.id="+area.getId(); + hql += " and inv.area.id=" + area.getId(); hql += " and inv.zzkw.id=" + zzkw.getId(); Query query = entityManager.createQuery(hql); List inventoryList = query.getResultList(); - return inventoryList; + return inventoryList; } @Override @@ -336,13 +336,13 @@ public class InventoryServiceImpl implements InventoryService { double rmNum = inventoryOld.getQuantity() - rmNumber; if (rmNum > 0) {//移除数量小于库存数量 //生成库存或生成记录 - Inventory inventory = this.getInventory(inventoryOld.getItemKey(), inventoryOld.getArea(), inventoryYW.getDstPoint(), inventoryOld.getZzkw(), inventoryOld.getDept(), BizStatus.MOVE); + Inventory inventory = this.getInventory(inventoryOld.getItemKey(), inventoryOld.getArea(), inventoryYW.getDstPoint(), inventoryOld.getZzkw(), inventoryOld.getDept(), BizStatus.MOVE); //生成移除的日志 invLogService.storeInventoryLog(BizStatus.MOVE, BizStatus.REDUCE, null, inventoryOld.getArea(), inventoryOld.getItemKey(), inventoryOld.getPoint(), inventoryYW.getDstPoint(), inventoryOld.getStock(), inventoryOld.getStock(), inventoryOld.getQuantity(), rmNumber, - null,null, BizStatus.MOVE, inventoryOld.getId(), inventoryOld.getId(), inventoryOld.getDescription()); + null, null, BizStatus.MOVE, inventoryOld.getId(), inventoryOld.getId(), inventoryOld.getDescription()); //生成目标点位的日志 invLogService.storeInventoryLog(BizStatus.MOVE, BizStatus.ADD, null, inventory.getArea(), inventory.getItemKey(), inventory.getPoint(), inventoryYW.getDstPoint(), inventoryOld.getStock(), inventory.getStock(), inventory.getQuantity(), rmNumber, - null,null, BizStatus.MOVE, inventoryOld.getId(), inventoryOld.getId(), inventoryOld.getDescription()); + null, null, BizStatus.MOVE, inventoryOld.getId(), inventoryOld.getId(), inventoryOld.getDescription()); //减库存 inventoryOld.setQuantity(rmNum); this.update(inventoryOld); @@ -356,10 +356,10 @@ public class InventoryServiceImpl implements InventoryService { Inventory inventory = this.getInventory(inventoryOld.getItemKey(), inventoryOld.getArea(), inventoryYW.getDstPoint(), inventoryOld.getZzkw(), inventoryOld.getDept(), BizStatus.MOVE); //生成移除的日志 invLogService.storeInventoryLog(BizStatus.MOVE, BizStatus.REDUCE, null, inventoryOld.getArea(), inventoryOld.getItemKey(), inventoryOld.getPoint(), inventoryYW.getDstPoint(), inventoryOld.getStock(), inventoryOld.getStock(), inventoryOld.getQuantity(), rmNumber, - null,null,BizStatus.MOVE, inventoryOld.getId(), inventoryOld.getId(), inventoryOld.getDescription()); + null, null, BizStatus.MOVE, inventoryOld.getId(), inventoryOld.getId(), inventoryOld.getDescription()); //生成目标点位的日志 invLogService.storeInventoryLog(BizStatus.MOVE, BizStatus.ADD, null, inventory.getArea(), inventory.getItemKey(), inventory.getPoint(), inventoryYW.getDstPoint(), inventoryOld.getStock(), inventory.getStock(), inventory.getQuantity(), rmNumber, - null,null,BizStatus.MOVE, inventoryOld.getId(), inventoryOld.getId(), inventoryOld.getDescription()); + null, null, BizStatus.MOVE, inventoryOld.getId(), inventoryOld.getId(), inventoryOld.getDescription()); inventoryRepository.delete(inventoryOld); //加库存 inventory.setQuantity(inventory.getQuantity() + rmNumber); @@ -381,37 +381,37 @@ public class InventoryServiceImpl implements InventoryService { "left join base_item it on it.id=ik.item_id\n" + "left join base_point p on p.id=inv.point_id \n" + "left join base_area area on area.id=inv.area_id\n" + - "where 1=1 and area.besh=1 and p.code!='BH_ZC' and inv.quantity!=0 and it.code='"+code+"'\n" + + "where 1=1 and area.besh=1 and p.code!='BH_ZC' and inv.quantity!=0 and it.code='" + code + "'\n" + "order by it.code"; - List ts= entityManager.createNativeQuery(sql) + List ts = entityManager.createNativeQuery(sql) .unwrap(SQLQuery.class) .setResultTransformer( AliasToEntityMapResultTransformer.INSTANCE ) .list(); - List list = JSON.parseArray(JSON.toJSONString(ts),RInvQuery.class); + List list = JSON.parseArray(JSON.toJSONString(ts), RInvQuery.class); return list; } @Override @Transactional(rollbackFor = Exception.class) public Inventory getInventory(ItemKey itemKey, Point point, Stock stock, Dept dept, String type) { - List inventoryList = inventoryRepository.findByInventory(itemKey.getId(), point.getId(), stock.getId(), dept.getId()); + List inventoryList = inventoryRepository.findByInventory(itemKey.getId(), point==null?null:point.getId(), stock.getId(), dept.getId()); Inventory inventory = null; if (inventoryList.size() > 0) { inventory = inventoryList.get(0); } else { //创建Inventory - if (type.equals(BizStatus.ASN)) { - inventory = new Inventory(); - inventory.setItemKey(itemKey); + inventory = new Inventory(); + inventory.setItemKey(itemKey); + if (point != null) { inventory.setPoint(point); inventory.setPointCode(point.getCode()); - inventory.setStock(stock); - inventory.setStockCode(stock.getCode()); - inventory.setDept(dept); - inventoryRepository.save(inventory); } + inventory.setStock(stock); + inventory.setStockCode(stock.getCode()); + inventory.setDept(dept); + inventoryRepository.save(inventory); } return inventory; } diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/TaskServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/TaskServiceImpl.java index 96132af..050eeb6 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/TaskServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/TaskServiceImpl.java @@ -180,7 +180,7 @@ public class TaskServiceImpl implements TaskService { t.setTaskStatus(BizStatus.OPEN); t.setItemKey(ik); t.setArea(area); - t.setDept(srcPoint.getDept()); + t.setDept(ik.getItem().getDept()); if (srcPoint != null) { t.setSrcPoint(srcPoint); t.setSrcPointCode(srcPoint.getCode());