|
|
|
@ -6,6 +6,9 @@ import io.swagger.v3.oas.annotations.Operation;
|
|
|
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
|
|
import jnpf.base.ActionResult;
|
|
|
|
|
import jnpf.base.UserInfo;
|
|
|
|
|
import jnpf.engine.entity.FlowTaskNodeEntity;
|
|
|
|
|
import jnpf.engine.service.FlowTaskNodeService;
|
|
|
|
|
import jnpf.engine.service.FlowTaskService;
|
|
|
|
|
import jnpf.exception.DataException;
|
|
|
|
|
import jnpf.permission.entity.UserEntity;
|
|
|
|
|
import jnpf.service.*;
|
|
|
|
@ -16,6 +19,7 @@ import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
import javax.validation.Valid;
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import jnpf.annotation.JnpfField;
|
|
|
|
|
import jnpf.base.vo.PageListVO;
|
|
|
|
@ -75,6 +79,10 @@ public class ReturnCargoOrderController {
|
|
|
|
|
private DeliveryVoucherRelationService deliveryVoucherRelationService;
|
|
|
|
|
@Autowired
|
|
|
|
|
private DeliveryProductRelationService deliveryProductRelationService;
|
|
|
|
|
@Autowired
|
|
|
|
|
private FlowTaskService flowTaskService;
|
|
|
|
|
@Autowired
|
|
|
|
|
private FlowTaskNodeService flowTaskNodeService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
@ -86,6 +94,8 @@ public class ReturnCargoOrderController {
|
|
|
|
|
private SubjectbasicService subjectbasicService;
|
|
|
|
|
@Autowired
|
|
|
|
|
private BusinessLineService businessLineService;
|
|
|
|
|
@Autowired
|
|
|
|
|
private WarehousingNotificationService warehousingNotificationService;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 列表
|
|
|
|
@ -471,6 +481,17 @@ public class ReturnCargoOrderController {
|
|
|
|
|
if(entity!=null){
|
|
|
|
|
try{
|
|
|
|
|
returnCargoOrderService.saveOrUpdate(returnCargoOrderForm,id,false);
|
|
|
|
|
FlowTaskEntity flowTaskEntity = flowTaskService.getById(id);
|
|
|
|
|
if (flowTaskEntity!=null){
|
|
|
|
|
QueryWrapper<FlowTaskNodeEntity> flowTaskNodeEntityQueryWrapper = new QueryWrapper<>();
|
|
|
|
|
flowTaskNodeEntityQueryWrapper.lambda().eq(FlowTaskNodeEntity::getNodeCode, flowTaskEntity.getThisStepId());
|
|
|
|
|
flowTaskNodeEntityQueryWrapper.lambda().eq(FlowTaskNodeEntity::getTaskId, flowTaskEntity.getId());
|
|
|
|
|
List<FlowTaskNodeEntity> flowTaskNodeEntityList = flowTaskNodeService.list(flowTaskNodeEntityQueryWrapper);
|
|
|
|
|
if(flowTaskNodeEntityList != null && flowTaskNodeEntityList.size()>0 && "end".equals(flowTaskNodeEntityList.get(0).getNodeNext())) {
|
|
|
|
|
entity.setDocumentStatus("3");
|
|
|
|
|
returnCargoOrderService.saveOrUpdate(entity);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}catch(Exception e){
|
|
|
|
|
return ActionResult.fail("修改数据失败");
|
|
|
|
|
}
|
|
|
|
@ -599,6 +620,8 @@ public class ReturnCargoOrderController {
|
|
|
|
|
entity.setCarrier(businessOrderEntity.getCarrier());
|
|
|
|
|
entity.setBusinessLineId(businessOrderEntity.getBusinessLineId());
|
|
|
|
|
}
|
|
|
|
|
List<SettlementInfoEntity> settlementInfoList = businessOrderService.getSettlementInfoList(entity.getBusinessId());
|
|
|
|
|
entity.setSettlementInfoList(settlementInfoList);
|
|
|
|
|
}
|
|
|
|
|
//副表数据
|
|
|
|
|
//子表数据
|
|
|
|
@ -686,5 +709,66 @@ public class ReturnCargoOrderController {
|
|
|
|
|
return ActionResult.success(list);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 采购退货出库通知订单列表
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@Operation(summary = "采购退货出库通知订单列表")
|
|
|
|
|
@GetMapping("/inBoundPurchaseOrderList")
|
|
|
|
|
public ActionResult outBoundPurchaseOrderList(@RequestParam("id") String id)throws IOException{
|
|
|
|
|
ReturnCargoOrderEntity returnCargoOrderEntity = returnCargoOrderService.queryReturnOrderByIdInfo(id);
|
|
|
|
|
List<SettlementInfoEntity> settlementInfoEntityList = businessOrderService.getSettlementInfoList(returnCargoOrderEntity.getBusinessId());
|
|
|
|
|
returnCargoOrderEntity.setSettlementInfoList(settlementInfoEntityList);
|
|
|
|
|
|
|
|
|
|
BusinessOrderEntity businessOrderEntity = businessOrderService.getInfo(id);
|
|
|
|
|
//二级供应商名字
|
|
|
|
|
if (StringUtil.isNotEmpty(businessOrderEntity.getSecondSubjectBasicId())){
|
|
|
|
|
SubjectbasicEntity subjectbasicEntity = subjectbasicService.getInfo(businessOrderEntity.getSecondSubjectBasicId());
|
|
|
|
|
if (subjectbasicEntity != null) {
|
|
|
|
|
businessOrderEntity.setSecondSupplyName(subjectbasicEntity.getName());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//三级供应商名字
|
|
|
|
|
if (StringUtil.isNotEmpty(businessOrderEntity.getThirdSubjectBasicId())){
|
|
|
|
|
SubjectbasicEntity subjectbasicEntity = subjectbasicService.getInfo(businessOrderEntity.getThirdSubjectBasicId());
|
|
|
|
|
if (subjectbasicEntity != null) {
|
|
|
|
|
businessOrderEntity.setThirdSupplyName(subjectbasicEntity.getName());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//业务线名字
|
|
|
|
|
if (StringUtil.isNotEmpty(businessOrderEntity.getBusinessLineId())){
|
|
|
|
|
BusinessLineEntity businessLineEntity = businessLineService.getInfo(businessOrderEntity.getBusinessLineId());
|
|
|
|
|
if (businessLineEntity != null){
|
|
|
|
|
businessOrderEntity.setBusinessLineName(businessLineEntity.getName());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//结算信息
|
|
|
|
|
List<SettlementInfoEntity> settlementInfoList = businessOrderService.getSettlementInfoList(businessOrderEntity.getId());
|
|
|
|
|
//查询订单下面的商品
|
|
|
|
|
List<BusinessOrderProductRelationalEntity> businessOrderProductRelationalList = businessOrderService.getBusinessOrderProductRelationalList(businessOrderEntity.getId());
|
|
|
|
|
//查询已经生成的入库通知
|
|
|
|
|
List<WarehousingProductEntity> list = warehousingNotificationService.queryInBoundNoticeInfo(businessOrderEntity.getId(),"1");
|
|
|
|
|
if (list != null && list.size()>0) {
|
|
|
|
|
//对入库通知中相同的商品进行通知数量合并
|
|
|
|
|
List<WarehousingProductEntity> warehousingProductEntityList = list.stream().collect(Collectors.toMap(WarehousingProductEntity::getProductId, a -> a, (o1, o2) -> {
|
|
|
|
|
o1.setNotificationStorageNumber(o1.getNotificationStorageNumber().add(o2.getNotificationStorageNumber()));
|
|
|
|
|
return o1;
|
|
|
|
|
})).values().stream().collect(Collectors.toList());
|
|
|
|
|
for (int i = 0; i < businessOrderProductRelationalList.size(); i++) {
|
|
|
|
|
for (int j = 0; j < warehousingProductEntityList.size(); j++) {
|
|
|
|
|
if (businessOrderProductRelationalList.get(i).getProductId().equals(warehousingProductEntityList.get(j).getProductId())) {
|
|
|
|
|
BigDecimal num = businessOrderProductRelationalList.get(i).getBusinessNum().subtract(warehousingProductEntityList.get(j).getNotificationStorageNumber());
|
|
|
|
|
businessOrderProductRelationalList.get(i).setRemainingStockableQuantity(num);
|
|
|
|
|
businessOrderProductRelationalList.get(i).setNotificationStorageNumber(num);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
businessOrderEntity.setSettlementInfoList(settlementInfoList);
|
|
|
|
|
businessOrderEntity.setBusinessOrderProductRelationalList(businessOrderProductRelationalList);
|
|
|
|
|
return ActionResult.success(returnCargoOrderEntity);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|