Merge branch 'main' of http://162.14.99.253:3000/10539622/2025-03-JS-SDK-svr
This commit is contained in:
commit
2442ae856c
@ -2,7 +2,7 @@ package com.cim.idm.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cim.idm.model.MaterialReceiveRequest;
|
||||
import com.cim.idm.model.po.MaterialReceiveRequest;
|
||||
import com.cim.idm.utils.AjaxResult;
|
||||
import com.cim.idm.wmspackage.materialpacking.management.data.MaterialPacking;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -3,9 +3,9 @@ package com.cim.idm.controller;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cim.idm.constants.ReceiveTypeEnums;
|
||||
import com.cim.idm.model.DeliveryDto;
|
||||
import com.cim.idm.model.MaterialReceiveRequest;
|
||||
import com.cim.idm.model.PageDto;
|
||||
import com.cim.idm.model.dto.DeliveryDto;
|
||||
import com.cim.idm.model.po.MaterialReceiveRequest;
|
||||
import com.cim.idm.model.dto.PageDto;
|
||||
import com.cim.idm.service.IDeliveryService;
|
||||
import com.cim.idm.utils.AjaxResult;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
@ -59,7 +59,8 @@ public class DeliveryController {
|
||||
List<String> nameList = new ArrayList<>();
|
||||
// 判定是否是到库单
|
||||
String typeByKey = deliveryService.getByKey(siteName, receiveRequestName).getReceiveRequestType();
|
||||
if (typeByKey.equals(ReceiveTypeEnums.DK.getCode())) {
|
||||
boolean isDelivery = typeByKey.equals(ReceiveTypeEnums.DK.getCode());
|
||||
if (isDelivery) {
|
||||
// 到库单(找出该单据下的所有的采购单)
|
||||
nameList = deliveryService.getReceiveByDelivery(siteName, receiveRequestName)
|
||||
.stream().map(MaterialReceiveRequest::getReceiveRequestName).collect(Collectors.toList());
|
||||
@ -68,6 +69,16 @@ public class DeliveryController {
|
||||
nameList.add(receiveRequestName);
|
||||
}
|
||||
// 获取采购单明细及批次
|
||||
return AjaxResult.me().setSuccess(true).setResultObj(deliveryService.getStoreDetail(siteName, nameList));
|
||||
return AjaxResult.me().setSuccess(true).setResultObj(deliveryService.getStoreDetail(siteName, nameList, isDelivery));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取采购订单详情
|
||||
*/
|
||||
@PostMapping(value = "/getReceiveDetail")
|
||||
public AjaxResult getReceiveDetail(@RequestBody JSONObject in) {
|
||||
List<String> nameList = (List<String>) in.get("nameList");
|
||||
// 获取采购订单详情
|
||||
return AjaxResult.me().setSuccess(true).setResultObj(deliveryService.getReceiveDetail(nameList));
|
||||
}
|
||||
}
|
||||
|
@ -5,12 +5,11 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.cim.idm.exception.GlobalException;
|
||||
import com.cim.idm.framework.IDMFrameServiceProxy;
|
||||
import com.cim.idm.model.MaterialPacking;
|
||||
import com.cim.idm.model.MaterialReceiveRequest;
|
||||
import com.cim.idm.model.po.MaterialReceiveRequest;
|
||||
import com.cim.idm.response.BaseResponse;
|
||||
import com.cim.idm.response.RespGenerator;
|
||||
import com.cim.idm.utils.AjaxResult;
|
||||
import com.cim.idm.utils.CommonUtils;
|
||||
import com.cim.idm.wmspackage.name.NameServiceProxy;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
@ -18,7 +17,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -6,6 +6,7 @@ import com.cim.idm.exception.GlobalException;
|
||||
import com.cim.idm.framework.IDMFrameServiceProxy;
|
||||
import com.cim.idm.framework.data.EventInfo;
|
||||
import com.cim.idm.model.*;
|
||||
import com.cim.idm.model.po.MaterialReceiveRequest;
|
||||
import com.cim.idm.service.QueryService;
|
||||
import com.cim.idm.utils.AjaxResult;
|
||||
import com.cim.idm.utils.EventInfoUtil;
|
||||
@ -23,14 +24,12 @@ import com.cim.idm.wmspackage.name.NameServiceProxy;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
@ -7,6 +7,9 @@ import com.cim.idm.exception.GlobalException;
|
||||
import com.cim.idm.framework.IDMFrameServiceProxy;
|
||||
import com.cim.idm.framework.data.EventInfo;
|
||||
import com.cim.idm.model.*;
|
||||
import com.cim.idm.model.dto.TrackOutBoDto;
|
||||
import com.cim.idm.model.dto.StoragePrintDto;
|
||||
import com.cim.idm.model.po.MaterialReceiveRequest;
|
||||
import com.cim.idm.mwmsextend.materialpacking.service.MaterialPackingServiceImpl;
|
||||
import com.cim.idm.response.BaseResponse;
|
||||
import com.cim.idm.response.RespGenerator;
|
||||
|
@ -2,7 +2,7 @@ package com.cim.idm.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cim.idm.model.*;
|
||||
import com.cim.idm.model.dto.MaterialNotPostedDto;
|
||||
import com.cim.idm.utils.AjaxResult;
|
||||
import com.cim.idm.wmspackage.materialpacking.MaterialPackingServiceProxy;
|
||||
import com.cim.idm.wmspackage.materialpacking.management.data.MaterialPackingKey;
|
||||
@ -23,7 +23,7 @@ public class MaterialPackingController {
|
||||
*/
|
||||
@PostMapping(value = "/update")
|
||||
public AjaxResult update(@RequestBody JSONObject in) {
|
||||
MaterialNotPostedRequest sl = JSON.toJavaObject(in, MaterialNotPostedRequest.class);
|
||||
MaterialNotPostedDto sl = JSON.toJavaObject(in, MaterialNotPostedDto.class);
|
||||
// 获取数据
|
||||
List<MaterialPackingKey> collect = sl.getDataList().stream().map(item -> {
|
||||
MaterialPackingKey packingKey = new MaterialPackingKey();
|
||||
|
@ -5,9 +5,9 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.cim.idm.constants.ReceiveTypeEnums;
|
||||
import com.cim.idm.framework.IDMFrameServiceProxy;
|
||||
import com.cim.idm.framework.data.EventInfo;
|
||||
import com.cim.idm.model.MaterialReceiveRequest;
|
||||
import com.cim.idm.model.po.MaterialReceiveRequest;
|
||||
import com.cim.idm.model.MaterialreceiveActDto;
|
||||
import com.cim.idm.model.TrackOutBoDto;
|
||||
import com.cim.idm.model.dto.TrackOutBoDto;
|
||||
import com.cim.idm.mwmsextend.materialpacking.service.MaterialPackingServiceImpl;
|
||||
import com.cim.idm.service.IDeliveryService;
|
||||
import com.cim.idm.service.impl.QMSServiceImpl;
|
||||
@ -31,6 +31,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.cim.idm.service.Impl.SDKMaterialPackingServiceImpl;
|
||||
|
||||
@ -175,7 +176,17 @@ public class MaterialReceiveActController {
|
||||
String receiveActNo = box.getReceiveActNo();
|
||||
String receiveQty = box.getRECEIVEDQUANTITY2();//实收数量
|
||||
String receiveRequestDetailName = box.getReceiveRequestDetailName();
|
||||
String receiveRequestName = box.getReceiveRequestName();
|
||||
// 单据
|
||||
String receiveRequestName = boxs.getReceiveRequestName();
|
||||
// 判断是否是倒库单据
|
||||
MaterialReceiveRequest byKey = deliveryService.getByKey(boxs.getSiteName(), boxs.getReceiveRequestName());
|
||||
if (byKey.getReceiveRequestType().equals(ReceiveTypeEnums.DK.getCode())) {
|
||||
// 检索该到库订单下该物料的采购订单的 name
|
||||
List<MaterialReceiveRequest> collect = deliveryService.getReceiveByDelivery(boxs.getSiteName(), boxs.getReceiveRequestName())
|
||||
.stream().filter(item -> item.getMaterialSpecName().equals(materialSpecName)).collect(Collectors.toList());
|
||||
// 检查剩余数量
|
||||
// @TODO
|
||||
}
|
||||
String remark = box.getRemark();
|
||||
String sdkid = box.getSdkid() == null ? "" : box.getSdkid();
|
||||
String shipRequestDetailName = box.getShipRequestDetailName();
|
||||
|
@ -10,11 +10,10 @@ import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
import com.cim.idm.exception.GlobalException;
|
||||
import com.cim.idm.model.MaterialReceiveRequest;
|
||||
import com.cim.idm.model.po.MaterialReceiveRequest;
|
||||
import com.cim.idm.model.ShelfDto;
|
||||
import com.cim.idm.utils.AjaxResult;
|
||||
import com.cim.idm.utils.CommonUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
@ -7,7 +7,7 @@ import com.cim.idm.exception.GlobalException;
|
||||
import com.cim.idm.framework.IDMFrameServiceProxy;
|
||||
import com.cim.idm.framework.data.EventInfo;
|
||||
import com.cim.idm.model.MaterialPacking;
|
||||
import com.cim.idm.model.MaterialReceiveRequest;
|
||||
import com.cim.idm.model.po.MaterialReceiveRequest;
|
||||
import com.cim.idm.utils.AjaxResult;
|
||||
import com.cim.idm.utils.CommonUtils;
|
||||
import com.cim.idm.utils.EventInfoUtil;
|
||||
|
@ -4,7 +4,7 @@ import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cim.idm.dao.PurchaseReturnServiceDao;
|
||||
import com.cim.idm.framework.IDMFrameServiceProxy;
|
||||
import com.cim.idm.model.MaterialReceiveRequest;
|
||||
import com.cim.idm.model.po.MaterialReceiveRequest;
|
||||
import com.cim.idm.model.PurchaseReturnDto;
|
||||
import com.cim.idm.model.StockOutDto;
|
||||
import com.cim.idm.service.PurchaseReturnService;
|
||||
|
@ -5,7 +5,7 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.cim.idm.exception.GlobalException;
|
||||
import com.cim.idm.framework.IDMFrameServiceProxy;
|
||||
import com.cim.idm.model.MaterialPacking;
|
||||
import com.cim.idm.model.MaterialReceiveRequest;
|
||||
import com.cim.idm.model.po.MaterialReceiveRequest;
|
||||
import com.cim.idm.model.MaterialshipRequest;
|
||||
import com.cim.idm.utils.AjaxResult;
|
||||
import com.cim.idm.utils.CommonUtils;
|
||||
|
@ -1,7 +1,10 @@
|
||||
package com.cim.idm.dao;
|
||||
|
||||
import com.cim.idm.model.MaterialReceiveRequest;
|
||||
import com.cim.idm.model.PurchaseDto;
|
||||
import com.cim.idm.model.dto.DeliveryRelationDto;
|
||||
import com.cim.idm.model.po.MaterialReceiveDelivery;
|
||||
import com.cim.idm.model.po.MaterialReceiveRequest;
|
||||
import com.cim.idm.model.dto.PurchaseDto;
|
||||
import com.cim.idm.model.vo.DeliveryReceiveDetailVo;
|
||||
import org.apache.ibatis.annotations.MapKey;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@ -22,11 +25,9 @@ public interface DeliveryDao {
|
||||
@Param("receiveRequestType") String receiveRequestType );
|
||||
|
||||
/**
|
||||
* 绑定采购订单 的 到货单
|
||||
* 新增到货单关系
|
||||
*/
|
||||
int bindDelivery(@Param("siteName") String siteName,
|
||||
@Param("receiveRequestName") String receiveRequestName,
|
||||
@Param("nameList") List<String> nameList);
|
||||
int createRelation(@Param("receiveList") List<DeliveryRelationDto> receiveList);
|
||||
|
||||
/**
|
||||
* 获取采购订单
|
||||
@ -39,7 +40,8 @@ public interface DeliveryDao {
|
||||
*/
|
||||
@MapKey("storeDetail")
|
||||
List<Map<String, Object>> getStoreDetail(@Param("siteName") String siteName,
|
||||
@Param("nameList") List<String> nameList);
|
||||
@Param("nameList") List<String> nameList,
|
||||
@Param("isDelivery") Boolean isDelivery);
|
||||
|
||||
/**
|
||||
* 获取入库批次
|
||||
@ -59,4 +61,16 @@ public interface DeliveryDao {
|
||||
*/
|
||||
List<MaterialReceiveRequest> getReceiveByDelivery(@Param("siteName") String siteName,
|
||||
@Param("receiveRequestName") String receiveRequestName);
|
||||
|
||||
/**
|
||||
* 获取到库单关系
|
||||
*/
|
||||
List<MaterialReceiveDelivery> getRelation(@Param("deliveryName") String deliveryName);
|
||||
|
||||
/**
|
||||
* 根据到库单获取采购单名称
|
||||
* @param nameList 到库单
|
||||
* @return 采购单名称列表
|
||||
*/
|
||||
List<DeliveryReceiveDetailVo> getReceiveDetail(@Param("nameList") List<String> nameList);
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.cim.idm.model;
|
||||
package com.cim.idm.model.bo;
|
||||
|
||||
import lombok.Data;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.cim.idm.model;
|
||||
package com.cim.idm.model.dto;
|
||||
|
||||
import com.cim.idm.wmspackage.invoice.management.data.MaterialReceiveRequestKey;
|
||||
import lombok.Data;
|
||||
@ -15,4 +15,7 @@ public class DeliveryDto {
|
||||
|
||||
// 数据
|
||||
private List<MaterialReceiveRequestKey> dataList;
|
||||
|
||||
// 数据
|
||||
private List<DeliveryRelationDto> receiveList;
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package com.cim.idm.model.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DeliveryRelationDto {
|
||||
// 到库单名称
|
||||
private String deliveryName;
|
||||
// 到库数量
|
||||
private Integer deliveryNum = 0;
|
||||
// 采购单名称
|
||||
private String receiveRequestName;
|
||||
// 料号
|
||||
private String materialSpecName;
|
||||
}
|
@ -1,11 +1,12 @@
|
||||
package com.cim.idm.model;
|
||||
package com.cim.idm.model.dto;
|
||||
|
||||
import com.cim.idm.model.MaterialPacking;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class MaterialNotPostedRequest {
|
||||
public class MaterialNotPostedDto {
|
||||
|
||||
// 批次
|
||||
private String CHARGE;
|
@ -1,4 +1,4 @@
|
||||
package com.cim.idm.model;
|
||||
package com.cim.idm.model.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import com.alibaba.fastjson.JSONObject;
|
@ -1,4 +1,4 @@
|
||||
package com.cim.idm.model;
|
||||
package com.cim.idm.model.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.cim.idm.model;
|
||||
package com.cim.idm.model.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
@ -1,5 +1,6 @@
|
||||
package com.cim.idm.model;
|
||||
package com.cim.idm.model.dto;
|
||||
|
||||
import com.cim.idm.model.MaterialreceiveActDto;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
@ -0,0 +1,16 @@
|
||||
package com.cim.idm.model.po;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class MaterialReceiveDelivery {
|
||||
|
||||
// 到库单
|
||||
private String deliveryName;
|
||||
// 到库数量
|
||||
private String deliveryNum;
|
||||
// 采购单
|
||||
private String receiveRequestName;
|
||||
// 料号
|
||||
private String materialSpecName;
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package com.cim.idm.model;
|
||||
package com.cim.idm.model.po;
|
||||
|
||||
import lombok.Data;
|
||||
|
@ -0,0 +1,56 @@
|
||||
package com.cim.idm.model.po;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
|
||||
@Data
|
||||
public class MaterialReceiveRequestDetail {
|
||||
|
||||
private String siteName;
|
||||
private String receiveRequestName;
|
||||
private String receiveRequestDetailName;
|
||||
private String pocategory; // 对应SAP PSTYPE
|
||||
private String receiveRequestDetailType; //对应SAP KNTTP
|
||||
private String materialSpecName;
|
||||
private String description;
|
||||
private double requestQuantity;
|
||||
private double receivedQuantity;
|
||||
private String erpLocation;
|
||||
private String locationName;
|
||||
private String erpFactory;
|
||||
private String returnFlag;
|
||||
private String freeFlag;
|
||||
private String forceCompletedFlag;
|
||||
private String receiveRequestDetailState;
|
||||
private String holdState;
|
||||
private String iqcFlag;
|
||||
private Timestamp planDate;
|
||||
private String createUser;
|
||||
private Timestamp createTime;
|
||||
private String lastEventName;
|
||||
private String lastEventTimeKey;
|
||||
private Timestamp lastEventTime;
|
||||
private String lastEventUser;
|
||||
private String lastEventComment;
|
||||
private String innerOrder;//内部订单号20190806
|
||||
private String charge;
|
||||
private String applicant;
|
||||
private String erpPoName;
|
||||
private String erpPoDetailName;
|
||||
private String innerFlag;
|
||||
//众凌定制字段
|
||||
private String supplierCharge;
|
||||
private String materialUnit;
|
||||
private String finishFlag;
|
||||
private String costCenter;//成本中心
|
||||
private Timestamp orderChangeDate; //订单更改日期
|
||||
private String wmsReturnChargeNo; //WMS退货批次号
|
||||
private String purchaseRequestNote; //采购申请备注信息
|
||||
private String purchaseRequestNo; //采购申请单号
|
||||
private String purchaseRequestDetailNo; //采购申请单行号
|
||||
private String deleteDetailFlag; //订单行项目删除标识
|
||||
private String salesman; // 业务员zzywy
|
||||
private String salesAssistant; // 业务助理zzywzl
|
||||
private String businessDivision; // 事业部zzsyb
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
package com.cim.idm.model.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DeliveryReceiveDetailVo {
|
||||
|
||||
private String receiveRequestName;
|
||||
private String materialSpecName;
|
||||
private double requestQuantity;
|
||||
private double deliveryNum;
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
package com.cim.idm.model.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class ReceiveDetailVo {
|
||||
// 采购单明细
|
||||
private List<Map<String, Object>> storeDetail;
|
||||
// 批次
|
||||
private List<Map<String, Object>> storeCharge;
|
||||
}
|
@ -1,12 +1,14 @@
|
||||
package com.cim.idm.service;
|
||||
|
||||
import com.cim.idm.model.DeliveryDto;
|
||||
import com.cim.idm.model.MaterialReceiveRequest;
|
||||
import com.cim.idm.model.PageDto;
|
||||
import com.cim.idm.model.dto.DeliveryDto;
|
||||
import com.cim.idm.model.po.MaterialReceiveDelivery;
|
||||
import com.cim.idm.model.po.MaterialReceiveRequest;
|
||||
import com.cim.idm.model.dto.PageDto;
|
||||
import com.cim.idm.model.vo.DeliveryReceiveDetailVo;
|
||||
import com.cim.idm.model.vo.ReceiveDetailVo;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface IDeliveryService {
|
||||
/**
|
||||
@ -27,9 +29,10 @@ public interface IDeliveryService {
|
||||
* 获取采购单明细及批次
|
||||
* @param siteName 组织
|
||||
* @param nameList 名称
|
||||
* @param isDelivery 是否到库
|
||||
* @return 采购订单
|
||||
*/
|
||||
Map<String, Object> getStoreDetail(String siteName, List<String> nameList);
|
||||
ReceiveDetailVo getStoreDetail(String siteName, List<String> nameList, Boolean isDelivery);
|
||||
|
||||
/**
|
||||
* 根据 key 获取值
|
||||
@ -45,4 +48,16 @@ public interface IDeliveryService {
|
||||
* @return 采购单名称列表
|
||||
*/
|
||||
List<MaterialReceiveRequest> getReceiveByDelivery(String siteName, String receiveRequestName);
|
||||
|
||||
/**
|
||||
* 获取到库单关系
|
||||
*/
|
||||
List<MaterialReceiveDelivery> getRelation(String deliveryName);
|
||||
|
||||
/**
|
||||
* 根据到库单获取采购单名称
|
||||
* @param nameList 到库单
|
||||
* @return 采购单名称列表
|
||||
*/
|
||||
List<DeliveryReceiveDetailVo> getReceiveDetail(List<String> nameList);
|
||||
}
|
||||
|
@ -12,6 +12,8 @@ import com.cim.idm.framework.orm.info.KeyInfo;
|
||||
import com.cim.idm.framework.orm.service.CommonServiceDAO;
|
||||
import com.cim.idm.framework.util.time.TimeStampUtil;
|
||||
import com.cim.idm.model.*;
|
||||
import com.cim.idm.model.bo.StorageObject;
|
||||
import com.cim.idm.model.dto.StoragePrintDto;
|
||||
import com.cim.idm.mwmsextend.generic.util.CommonUtil;
|
||||
import com.cim.idm.wmsextend.generic.errorHandler.CustomException;
|
||||
import com.cim.idm.wmsextend.generic.util.ObjectUtil;
|
||||
|
@ -3,22 +3,22 @@ package com.cim.idm.service.Impl;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.cim.idm.constants.ReceiveTypeEnums;
|
||||
import com.cim.idm.dao.DeliveryDao;
|
||||
import com.cim.idm.model.DeliveryDto;
|
||||
import com.cim.idm.model.MaterialReceiveRequest;
|
||||
import com.cim.idm.model.PageDto;
|
||||
import com.cim.idm.model.PurchaseDto;
|
||||
import com.cim.idm.model.dto.PageDto;
|
||||
import com.cim.idm.model.dto.PurchaseDto;
|
||||
import com.cim.idm.model.dto.DeliveryDto;
|
||||
import com.cim.idm.model.dto.DeliveryRelationDto;
|
||||
import com.cim.idm.model.po.MaterialReceiveDelivery;
|
||||
import com.cim.idm.model.po.MaterialReceiveRequest;
|
||||
import com.cim.idm.model.vo.DeliveryReceiveDetailVo;
|
||||
import com.cim.idm.model.vo.ReceiveDetailVo;
|
||||
import com.cim.idm.service.IDeliveryService;
|
||||
import com.cim.idm.wmspackage.invoice.management.data.MaterialReceiveRequestKey;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.github.pagehelper.page.PageMethod;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.*;
|
||||
|
||||
@Service
|
||||
public class DeliveryServiceImpl implements IDeliveryService {
|
||||
@ -34,10 +34,19 @@ public class DeliveryServiceImpl implements IDeliveryService {
|
||||
dto.getReceiveRequestName(), ReceiveTypeEnums.DK.getCode()) <= 0) {
|
||||
return "添加到库单失败";
|
||||
}
|
||||
// 更新采购单到库单字段
|
||||
List<String> collect = dto.getDataList().stream()
|
||||
.map(MaterialReceiveRequestKey::getReceiveRequestName).collect(Collectors.toList());
|
||||
deliveryDao.bindDelivery(dto.getSiteName(), dto.getReceiveRequestName(), collect);
|
||||
// 添加到库单关系
|
||||
List<DeliveryRelationDto> res = new ArrayList<>();
|
||||
for (DeliveryRelationDto item : dto.getReceiveList()) {
|
||||
// 数量大于 0
|
||||
if (Objects.nonNull(item.getDeliveryNum()) && item.getDeliveryNum() > 0) {
|
||||
// 到库单号
|
||||
item.setDeliveryName(dto.getReceiveRequestName());
|
||||
res.add(item);
|
||||
}
|
||||
}
|
||||
if (deliveryDao.createRelation(res) <= 0) {
|
||||
return "添加到库单关系失败";
|
||||
}
|
||||
return "更新成功";
|
||||
}
|
||||
|
||||
@ -49,15 +58,15 @@ public class DeliveryServiceImpl implements IDeliveryService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getStoreDetail(String siteName, List<String> nameList) {
|
||||
Map<String, Object> res = new HashMap<>();
|
||||
public ReceiveDetailVo getStoreDetail(String siteName, List<String> nameList, Boolean isDelivery) {
|
||||
ReceiveDetailVo receiveDetailVo = new ReceiveDetailVo();
|
||||
// 采购单明细
|
||||
List<Map<String, Object>> storeDetail = deliveryDao.getStoreDetail(siteName, nameList);
|
||||
List<Map<String, Object>> storeDetail = deliveryDao.getStoreDetail(siteName, nameList, isDelivery);
|
||||
receiveDetailVo.setStoreDetail(storeDetail);
|
||||
// 批次
|
||||
List<Map<String, Object>> storeCharge = deliveryDao.getStoreCharge(siteName, nameList);
|
||||
res.put("storeDetail", storeDetail);
|
||||
res.put("storeCharge", storeCharge);
|
||||
return res;
|
||||
receiveDetailVo.setStoreCharge(storeCharge);
|
||||
return receiveDetailVo;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -69,4 +78,14 @@ public class DeliveryServiceImpl implements IDeliveryService {
|
||||
public List<MaterialReceiveRequest> getReceiveByDelivery(String siteName, String receiveRequestName) {
|
||||
return deliveryDao.getReceiveByDelivery(siteName, receiveRequestName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MaterialReceiveDelivery> getRelation(String deliveryName) {
|
||||
return deliveryDao.getRelation(deliveryName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DeliveryReceiveDetailVo> getReceiveDetail(List<String> nameList) {
|
||||
return deliveryDao.getReceiveDetail(nameList);
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package com.cim.idm.service.Impl;
|
||||
|
||||
import com.cim.idm.framework.data.EventInfo;
|
||||
import com.cim.idm.model.*;
|
||||
import com.cim.idm.model.dto.StoragePrintDto;
|
||||
import com.cim.idm.service.LabelService;
|
||||
import com.cim.idm.utils.EventInfoUtil;
|
||||
import com.cim.idm.wmsextend.generic.errorHandler.CustomException;
|
||||
|
@ -2,6 +2,7 @@ package com.cim.idm.service;
|
||||
|
||||
|
||||
import com.cim.idm.model.*;
|
||||
import com.cim.idm.model.dto.StoragePrintDto;
|
||||
import com.cim.idm.wmsextend.generic.errorHandler.CustomException;
|
||||
|
||||
/**
|
||||
|
@ -7,16 +7,15 @@
|
||||
VALUES (#{siteName}, #{receiveRequestName}, #{receiveRequestType})
|
||||
</insert>
|
||||
|
||||
<update id="bindDelivery">
|
||||
UPDATE MATERIALRECEIVEREQUEST SET DELIVERYNAME = #{receiveRequestName}
|
||||
WHERE SITENAME = #{siteName}
|
||||
AND RECEIVEREQUESTNAME IN
|
||||
<foreach item="name" index="index" collection="nameList" open="(" separator="," close=")">
|
||||
#{name}
|
||||
<insert id="createRelation">
|
||||
INSERT ALL
|
||||
<foreach item="item" index="index" collection="receiveList">
|
||||
INTO MATERIALRECEIVEDELIVERY (RECEIVEREQUESTNAME, DELIVERYNAME, DELIVERYNUM, MATERIALSPECNAME) VALUES (#{item.receiveRequestName}, #{item.deliveryName}, #{item.deliveryNum}, #{item.materialSpecName})
|
||||
</foreach>
|
||||
</update>
|
||||
SELECT * FROM dual
|
||||
</insert>
|
||||
|
||||
<select id="getPurchase" resultType="com.cim.idm.model.MaterialReceiveRequest">
|
||||
<select id="getPurchase" resultType="com.cim.idm.model.po.MaterialReceiveRequest">
|
||||
SELECT SITENAME, RECEIVEREQUESTNAME FROM MATERIALRECEIVEREQUEST
|
||||
WHERE SITENAME = #{dto.siteName}
|
||||
AND RECEIVEREQUESTTYPE IN
|
||||
@ -49,22 +48,49 @@
|
||||
#{name}
|
||||
</foreach>
|
||||
GROUP BY m5.MATERIALSPECNAME, m5.RECEIVEREQUESTNAME, m5.SDK_ID, m5.phase
|
||||
),
|
||||
MAIN AS (
|
||||
SELECT m.MATERIALSPECNAME,
|
||||
SUM( m.REQUESTQUANTITY ) REQUESTQUANTITY,
|
||||
SUM( m.RECEIVEDQUANTITY ) RECEIVEDQUANTITY,
|
||||
SUM( m.REQUESTQUANTITY - m.RECEIVEDQUANTITY ) AS RECEIVEDQUANTITY2,
|
||||
SUM( m.REQUESTQUANTITY - m.RECEIVEDQUANTITY ) AS MINUSQTY
|
||||
FROM MATERIALRECEIVEREQUESTDETAIL m
|
||||
WHERE m.RECEIVEREQUESTNAME in
|
||||
<foreach item="name" index="index" collection="nameList" open="(" separator="," close=")">
|
||||
#{name}
|
||||
</foreach>
|
||||
GROUP BY m.MATERIALSPECNAME
|
||||
)
|
||||
SELECT m3.WIDTH AS DESCRIPTION, be.DESCRIPTION AS ERPLOCATION2, m.ERPLOCATION, o.ORGNAME AS ERPFACTORY2,
|
||||
m2.STOCKORGNO AS ERPFACTORY, sss.DESCRIPTION AS LOCATIONNAME2, m.LOCATIONNAME, m2.SUPPLIERNO,
|
||||
'1' RECEIVEREQUESTDETAILNAME, SUM( m.REQUESTQUANTITY ) REQUESTQUANTITY, SUM( m.RECEIVEDQUANTITY ) RECEIVEDQUANTITY,
|
||||
SUM( m.REQUESTQUANTITY - m.RECEIVEDQUANTITY ) AS RECEIVEDQUANTITY2,
|
||||
SUM( m.REQUESTQUANTITY - m.RECEIVEDQUANTITY ) AS MINUSQTY, NVL( MAX( BB.QTY ), 0 ) CREATEQTY,
|
||||
NVL( MAX( AA.QTY ), 0 ) STOCKINQTY, m3.DESC_CN, m.MATERIALUNIT, M3.MATERIALUNITDESC,
|
||||
CASE WHEN m3.EXPIRATION_RULES = '0' THEN '入厂保质期'
|
||||
WHEN m3.EXPIRATION_RULES = '1' THEN '出厂保质期' ELSE '未定义'
|
||||
END AS REPLACED_VALUE,
|
||||
m.SDK_ID, m3.WIDTH SPECNAME, m3.PHASE, m.MATERIALSPECNAME, m.SITENAME, m.RECEIVEREQUESTNAME,
|
||||
DECODE( m3.IS_BATCH, 'Y', '是' , '否' ) IS_BATCH, '是' IS_BATCH, DECODE( m4.IQCFLAG, 'Y', '是' , '否' ) IQCFLAG,
|
||||
max( m.REMARK ) REMARK, max( m.SALESMAN ) SALESPERSON, max( m.SALESASSISTANT ) CAREER_ASSISTANCE,
|
||||
max( m.BUSINESSDIVISION ) BUSINESS_UNIT, TO_CHAR( SYSDATE, 'YYYY-MM-DD' ) RECEIVETIME,
|
||||
TO_CHAR( SYSDATE, 'YYYY-MM-DD' ) MAKEDATE
|
||||
FROM MATERIALRECEIVEREQUESTDETAIL m
|
||||
<if test="isDelivery">
|
||||
,DELIVERY AS (
|
||||
SELECT sum(md.DELIVERYNUM) DELIVERYNUM, md.MATERIALSPECNAME MATERIALSPECNAME
|
||||
FROM MATERIALRECEIVEDELIVERY md
|
||||
WHERE md.RECEIVEREQUESTNAME IN
|
||||
<foreach item="name" index="index" collection="nameList" open="(" separator="," close=")">
|
||||
#{name}
|
||||
</foreach>
|
||||
GROUP BY md.MATERIALSPECNAME
|
||||
)
|
||||
</if>
|
||||
SELECT distinct MAIN.RECEIVEDQUANTITY, MAIN.MINUSQTY,
|
||||
<if test="isDelivery">
|
||||
DELIVERY.DELIVERYNUM REQUESTQUANTITY,
|
||||
</if>
|
||||
<if test="!isDelivery">
|
||||
MAIN.REQUESTQUANTITY REQUESTQUANTITY,
|
||||
</if>
|
||||
TO_CHAR( SYSDATE, 'YYYY-MM-DD' ) RECEIVETIME, TO_CHAR( SYSDATE, 'YYYY-MM-DD' ) MAKEDATE, '1' RECEIVEREQUESTDETAILNAME, '是' IS_BATCH,
|
||||
m.MATERIALSPECNAME, m.SITENAME, m.ERPLOCATION, m.LOCATIONNAME, m.MATERIALUNIT, m.SDK_ID,
|
||||
m.REMARK REMARK, m.SALESMAN SALESPERSON, m.SALESASSISTANT CAREER_ASSISTANCE, m.BUSINESSDIVISION BUSINESS_UNIT,
|
||||
m2.STOCKORGNO AS ERPFACTORY, m2.SUPPLIERNO,
|
||||
m3.WIDTH AS DESCRIPTION, m3.MATERIALUNITDESC, m3.WIDTH SPECNAME, m3.PHASE, m3.DESC_CN, DECODE( m3.IS_BATCH, 'Y', '是' , '否' ) IS_BATCH,
|
||||
CASE WHEN m3.EXPIRATION_RULES = '0' THEN '入厂保质期' WHEN m3.EXPIRATION_RULES = '1' THEN '出厂保质期' ELSE '未定义' END AS REPLACED_VALUE,
|
||||
DECODE( m4.IQCFLAG, 'Y', '是', '否' ) IQCFLAG,
|
||||
be.DESCRIPTION AS ERPLOCATION2, o.ORGNAME AS ERPFACTORY2, sss.DESCRIPTION AS LOCATIONNAME2,
|
||||
NVL( BB.QTY, 0 ) CREATEQTY, NVL( AA.QTY, 0 ) STOCKINQTY
|
||||
FROM MAIN
|
||||
LEFT JOIN MATERIALRECEIVEREQUESTDETAIL m ON MAIN.MATERIALSPECNAME = m.MATERIALSPECNAME
|
||||
LEFT JOIN MATERIALRECEIVEREQUEST m2 ON m.RECEIVEREQUESTNAME = m2.RECEIVEREQUESTNAME
|
||||
LEFT JOIN MATERIALSPEC m3 ON m.MATERIALSPECNAME = m3.MATERIALSPECNAME
|
||||
LEFT JOIN BS_MATERIALFACTORY m4 ON m.MATERIALSPECNAME = m4.MATERIALSPECNAME AND m.ERPFACTORY = m4.ERPFACTORY
|
||||
@ -79,6 +105,9 @@
|
||||
AND BB.MATERIALSPECNAME = m.MATERIALSPECNAME
|
||||
AND BB.SDK_ID = m.SDK_ID
|
||||
AND BB.PHASE = m3.PHASE
|
||||
<if test="isDelivery">
|
||||
INNER JOIN DELIVERY ON DELIVERY.MATERIALSPECNAME = m.MATERIALSPECNAME
|
||||
</if>
|
||||
WHERE ( m2.RETURNFLAG IS NULL OR m2.RETURNFLAG != 'Y' )
|
||||
AND m.RECEIVEREQUESTNAME in
|
||||
<foreach item="name" index="index" collection="nameList" open="(" separator="," close=")">
|
||||
@ -86,10 +115,6 @@
|
||||
</foreach>
|
||||
AND m.SITENAME = #{siteName}
|
||||
AND m2.RECEIVEREQUESTTYPE IN ( 'ZK4A', '45', '4C', 'Z001', 'Z002', 'Z003', 'Z004' )
|
||||
GROUP BY m3.DESCRIPTION, be.DESCRIPTION, m.ERPLOCATION, o.ORGNAME, m2.STOCKORGNO, sss.DESCRIPTION,
|
||||
m.LOCATIONNAME, m2.SUPPLIERNO, m3.DESC_CN, m.MATERIALUNIT, M3.MATERIALUNITDESC,
|
||||
m3.EXPIRATION_RULES, m.SDK_ID, m3.WIDTH, m3.PHASE, m.MATERIALSPECNAME, m.SITENAME,
|
||||
m.RECEIVEREQUESTNAME, m3.IS_BATCH, m4.IQCFLAG
|
||||
</select>
|
||||
|
||||
<!-- GetPackingRow xh002 -->
|
||||
@ -117,17 +142,42 @@
|
||||
) TTT
|
||||
</select>
|
||||
|
||||
<select id="getByKey" resultType="com.cim.idm.model.MaterialReceiveRequest">
|
||||
SELECT *
|
||||
<select id="getByKey" resultType="com.cim.idm.model.po.MaterialReceiveRequest">
|
||||
SELECT SITENAME, RECEIVEREQUESTNAME, RECEIVEREQUESTTYPE, PURCHASEORDERGROUP, RECEIVEREQUESTSTATE, SUPPLIERNO,
|
||||
OEMSITENAME, OEMSITEINCHARGE, SYSTEMTYPE, LASTEVENTNAME, LASTEVENTTIMEKEY, LASTEVENTTIME, LASTEVENTUSER,
|
||||
LASTEVENTCOMMENT, ERPPONAME, SAVEREASON, RESPPERSON, RESPDEPART, SOLVETIME, PASSSTATE, WORKER, SDK_ID,
|
||||
ERPID, REMARK, PURCHASER, PURORGNO, ORDERDATE, CLOSERUSER, CLOSEDATE, STOCKORGNO, RETURNFLAG,
|
||||
RECEIVEREQUESTDETAILTYPE, ERPLOCATION, PRODUCTDEPTNO, SOURCEBILLID, EFFECTIVESTARTTIME, EFFECTIVEENDTIME
|
||||
FROM MATERIALRECEIVEREQUEST
|
||||
WHERE SITENAME = #{siteName}
|
||||
AND RECEIVEREQUESTNAME = #{receiveRequestName}
|
||||
</select>
|
||||
|
||||
<select id="getReceiveByDelivery" resultType="com.cim.idm.model.MaterialReceiveRequest">
|
||||
SELECT *
|
||||
FROM MATERIALRECEIVEREQUEST
|
||||
WHERE SITENAME = #{siteName}
|
||||
AND DELIVERYNAME = #{receiveRequestName}
|
||||
<select id="getReceiveByDelivery" resultType="com.cim.idm.model.po.MaterialReceiveRequest">
|
||||
SELECT m.SITENAME, m.RECEIVEREQUESTNAME, m.RECEIVEREQUESTTYPE, m.PURCHASEORDERGROUP, m.RECEIVEREQUESTSTATE, m.SUPPLIERNO,
|
||||
m.OEMSITENAME, m.OEMSITEINCHARGE, m.SYSTEMTYPE, m.LASTEVENTNAME, m.LASTEVENTTIMEKEY, m.LASTEVENTTIME, m.LASTEVENTUSER,
|
||||
m.LASTEVENTCOMMENT, m.ERPPONAME, m.SAVEREASON, m.RESPPERSON, m.RESPDEPART, m.SOLVETIME, m.PASSSTATE, m.WORKER, m.SDK_ID,
|
||||
m.ERPID, m.REMARK, m.PURCHASER, m.PURORGNO, m.ORDERDATE, m.CLOSERUSER, m.CLOSEDATE, m.STOCKORGNO, m.RETURNFLAG,
|
||||
m.RECEIVEREQUESTDETAILTYPE, m.ERPLOCATION, m.PRODUCTDEPTNO, m.SOURCEBILLID, m.EFFECTIVESTARTTIME, m.EFFECTIVEENDTIME
|
||||
FROM MATERIALRECEIVEREQUEST m, MATERIALRECEIVEDELIVERY md
|
||||
WHERE md.DELIVERYNAME = #{receiveRequestName}
|
||||
AND m.SITENAME = #{siteName}
|
||||
AND m.RECEIVEREQUESTNAME = md.RECEIVEREQUESTNAME
|
||||
</select>
|
||||
|
||||
<select id="getRelation" resultType="com.cim.idm.model.po.MaterialReceiveDelivery">
|
||||
SELECT md.DELIVERYNAME, md.DELIVERYNUM, md.RECEIVEREQUESTNAME, md.MATERIALSPECNAME
|
||||
FROM MATERIALRECEIVEDELIVERY md
|
||||
WHERE md.DELIVERYNAME = #{deliveryName}
|
||||
</select>
|
||||
|
||||
<select id="getReceiveDetail" resultType="com.cim.idm.model.vo.DeliveryReceiveDetailVo">
|
||||
SELECT receiveRequestName, materialSpecName, requestQuantity, requestQuantity as deliveryNum
|
||||
FROM MATERIALRECEIVEREQUESTDETAIL
|
||||
WHERE RECEIVEREQUESTNAME in
|
||||
<foreach item="name" index="index" collection="nameList" open="(" separator="," close=")">
|
||||
#{name}
|
||||
</foreach>
|
||||
order by RECEIVEREQUESTNAME
|
||||
</select>
|
||||
</mapper>
|
Loading…
x
Reference in New Issue
Block a user