update 到货单修改统计入库、收货数量
This commit is contained in:
parent
1cf744be5b
commit
68b750b647
@ -6441,7 +6441,7 @@ public class ToSAPServiceImpl {
|
|||||||
List<Map<String, Object>> qmsDataList = new ArrayList<>();
|
List<Map<String, Object>> qmsDataList = new ArrayList<>();
|
||||||
//依据采购订单,查询待入库的物料(MATERIALPACKING)
|
//依据采购订单,查询待入库的物料(MATERIALPACKING)
|
||||||
String querySql = " SELECT " +
|
String querySql = " SELECT " +
|
||||||
" SUM(DR.DELIVERYNUM) AS MATERIALQUANTITY,\n" +
|
" DR.DELIVERYNUM AS MATERIALQUANTITY,\n" +
|
||||||
" DR.RECEIVEREQUESTNAME,\n" +
|
" DR.RECEIVEREQUESTNAME,\n" +
|
||||||
" DR.RECEIVEREQUESTDETAILNAME,\n" +
|
" DR.RECEIVEREQUESTDETAILNAME,\n" +
|
||||||
" P.ERPLOCATION,\n" +
|
" P.ERPLOCATION,\n" +
|
||||||
@ -6486,7 +6486,7 @@ public class ToSAPServiceImpl {
|
|||||||
"\t\t,P.OQARESULT, P.OQARESULTSTATE, P.UNIT, P.FUNIT, P.REMARK, P.SUPPLIERNAME\n" +
|
"\t\t,P.OQARESULT, P.OQARESULTSTATE, P.UNIT, P.FUNIT, P.REMARK, P.SUPPLIERNAME\n" +
|
||||||
"\t\t,P.ERPFACTORY, P.ERPLOCATION, BF.IQCFLAG, R.RECEIVEREQUESTTYPE\n" +
|
"\t\t,P.ERPFACTORY, P.ERPLOCATION, BF.IQCFLAG, R.RECEIVEREQUESTTYPE\n" +
|
||||||
"\t\t,EL.DESCRIPTION, SP.SUPPLIERNO,SP.SUPPLIERNAME,MP.MATERIALSPECNAME\n" +
|
"\t\t,EL.DESCRIPTION, SP.SUPPLIERNO,SP.SUPPLIERNAME,MP.MATERIALSPECNAME\n" +
|
||||||
"\t\t,MP.DESC_CN, MP.MATERIALGROUP, P.LOCATIONNAME, P.RECEIVETIME,P.TRUEGG ";
|
"\t\t,MP.DESC_CN, MP.MATERIALGROUP, P.LOCATIONNAME, P.RECEIVETIME,P.TRUEGG,DR.DELIVERYNUM ";
|
||||||
Map<String, Object> hashMap = new HashMap<String, Object>();
|
Map<String, Object> hashMap = new HashMap<String, Object>();
|
||||||
hashMap.put("DELIVERYNAME", deliveryName);
|
hashMap.put("DELIVERYNAME", deliveryName);
|
||||||
hashMap.put("SITENAME", siteName);
|
hashMap.put("SITENAME", siteName);
|
||||||
|
@ -174,7 +174,9 @@ public class DeliveryController {
|
|||||||
if (deliveryType.equals(DeliveryTypeEnums.BATCH.getCode())) {
|
if (deliveryType.equals(DeliveryTypeEnums.BATCH.getCode())) {
|
||||||
// 批次
|
// 批次
|
||||||
return AjaxResult.me().setSuccess(true).setResultObj(
|
return AjaxResult.me().setSuccess(true).setResultObj(
|
||||||
deliveryService.getStoreDetail(storeDetailDto.getDocumentName(), storeDetailDto.getSiteName(), nameList, deliveryName));
|
deliveryService.getDeliveryStoreDetail(storeDetailDto.getDocumentName(), storeDetailDto.getSiteName(), nameList, deliveryName));
|
||||||
|
/*return AjaxResult.me().setSuccess(true).setResultObj(
|
||||||
|
deliveryService.getStoreDetail(storeDetailDto.getDocumentName(), storeDetailDto.getSiteName(), nameList, deliveryName));*/
|
||||||
} else {
|
} else {
|
||||||
// 辅材
|
// 辅材
|
||||||
return AjaxResult.me().setSuccess(true).setResultObj(
|
return AjaxResult.me().setSuccess(true).setResultObj(
|
||||||
|
@ -33,6 +33,7 @@ import org.springframework.web.bind.annotation.RequestBody;
|
|||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.sql.Timestamp;
|
import java.sql.Timestamp;
|
||||||
@ -662,8 +663,8 @@ public class MaterialReceiveActController {
|
|||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
return AjaxResult.me().setErrorCode(400).setMessage(e.toString());
|
return AjaxResult.me().setErrorCode(400).setMessage(e.toString()).setSuccess(false);
|
||||||
}
|
}
|
||||||
return AjaxResult.me().setSuccess(true);
|
return AjaxResult.me().setSuccess(true).setErrorCode(200);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -136,4 +136,13 @@ public interface DeliveryDao {
|
|||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
int editDelivery(@Param("dto") DeliveryEditDto deliveryEditDto);
|
int editDelivery(@Param("dto") DeliveryEditDto deliveryEditDto);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据到货单获取入库详情
|
||||||
|
*/
|
||||||
|
@MapKey("storeDetail")
|
||||||
|
List<Map<String, Object>> getDeliveryStoreDetail(@Param("siteName") String siteName,
|
||||||
|
@Param("nameList") List<String> nameList,
|
||||||
|
@Param("typeList") List<String> typeList,
|
||||||
|
@Param("deliveryName") String deliveryName);
|
||||||
}
|
}
|
||||||
|
@ -117,4 +117,14 @@ public interface IDeliveryService {
|
|||||||
*/
|
*/
|
||||||
int editDelivery(DeliveryEditDto deliveryEditDto);
|
int editDelivery(DeliveryEditDto deliveryEditDto);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取采购单明细及批次
|
||||||
|
* @param documentName 单据名称
|
||||||
|
* @param siteName 组织
|
||||||
|
* @param nameList 名称
|
||||||
|
* @param deliveryName 到库单号
|
||||||
|
* @return 采购订单
|
||||||
|
*/
|
||||||
|
ReceiveDetailVo getDeliveryStoreDetail(String documentName, String siteName, List<String> nameList, String deliveryName);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -142,4 +142,17 @@ public class DeliveryServiceImpl implements IDeliveryService {
|
|||||||
public int editDelivery(DeliveryEditDto deliveryEditDto) {
|
public int editDelivery(DeliveryEditDto deliveryEditDto) {
|
||||||
return deliveryDao.editDelivery(deliveryEditDto);
|
return deliveryDao.editDelivery(deliveryEditDto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ReceiveDetailVo getDeliveryStoreDetail(String documentName, String siteName, List<String> nameList, String deliveryName) {
|
||||||
|
ReceiveDetailVo receiveDetailVo = new ReceiveDetailVo();
|
||||||
|
// 采购单明细
|
||||||
|
//List<Map<String, Object>> storeDetail = deliveryDao.getStoreDetail(siteName, nameList, ReceiveTypeEnums.getPurchase(), deliveryName);
|
||||||
|
List<Map<String, Object>> storeDetail = deliveryDao.getDeliveryStoreDetail(siteName, nameList, ReceiveTypeEnums.getPurchase(), deliveryName);
|
||||||
|
receiveDetailVo.setStoreDetail(storeDetail);
|
||||||
|
// 批次
|
||||||
|
List<Map<String, Object>> storeCharge = deliveryDao.getStoreCharge(siteName, documentName);
|
||||||
|
receiveDetailVo.setStoreCharge(storeCharge);
|
||||||
|
return receiveDetailVo;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -360,4 +360,125 @@
|
|||||||
UPDATE MATERIALDELIVERY SET DELIVERYSTATE = #{dto.deliveryState}
|
UPDATE MATERIALDELIVERY SET DELIVERYSTATE = #{dto.deliveryState}
|
||||||
WHERE SITENAME = #{dto.siteName} AND DELIVERYNAME = #{dto.deliveryName}
|
WHERE SITENAME = #{dto.siteName} AND DELIVERYNAME = #{dto.deliveryName}
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
|
<select id="getDeliveryStoreDetail" resultType="map">
|
||||||
|
WITH
|
||||||
|
AA AS (
|
||||||
|
SELECT
|
||||||
|
m5.RECEIVEREQUESTNAME,
|
||||||
|
m5.MATERIALSPECNAME,
|
||||||
|
SUM( m5.MATERIALQUANTITY ) QTY
|
||||||
|
FROM
|
||||||
|
MATERIALPACKING m5
|
||||||
|
WHERE
|
||||||
|
m5.STOCKSTATE IN ( 'Stocked', 'StockOut' )
|
||||||
|
AND m5.RECEIVEREQUESTNAME IN ( #{deliveryName} )
|
||||||
|
GROUP BY
|
||||||
|
m5.MATERIALSPECNAME,
|
||||||
|
m5.RECEIVEREQUESTNAME
|
||||||
|
),
|
||||||
|
|
||||||
|
|
||||||
|
BB AS (
|
||||||
|
SELECT
|
||||||
|
m5.RECEIVEREQUESTNAME,
|
||||||
|
m5.MATERIALSPECNAME,
|
||||||
|
SUM( m5.MATERIALQUANTITY ) QTY
|
||||||
|
FROM
|
||||||
|
MATERIALPACKING m5
|
||||||
|
WHERE
|
||||||
|
m5.STOCKSTATE = 'Created'
|
||||||
|
AND m5.RECEIVEREQUESTNAME IN ( #{deliveryName} )
|
||||||
|
GROUP BY
|
||||||
|
m5.MATERIALSPECNAME,
|
||||||
|
m5.RECEIVEREQUESTNAME
|
||||||
|
),
|
||||||
|
|
||||||
|
CC AS (
|
||||||
|
SELECT
|
||||||
|
m5.DELIVERYNAME RECEIVEREQUESTNAME,
|
||||||
|
m5.MATERIALSPECNAME ,
|
||||||
|
SUM( m5.DELIVERYNUM ) QTY
|
||||||
|
FROM
|
||||||
|
MATERIALDELIVERYRECEIVE m5
|
||||||
|
WHERE
|
||||||
|
m5.DELIVERYNAME IN ( #{deliveryName} )
|
||||||
|
GROUP BY
|
||||||
|
m5.DELIVERYNAME,
|
||||||
|
m5.MATERIALSPECNAME
|
||||||
|
),
|
||||||
|
|
||||||
|
DELIVERY AS (
|
||||||
|
SELECT DISTINCT DELIVERYNAME, md.MATERIALSPECNAME,
|
||||||
|
TO_CHAR( SYSDATE, 'YYYY-MM-DD' ) RECEIVETIME,
|
||||||
|
TO_CHAR( SYSDATE, 'YYYY-MM-DD' ) MAKEDATE,
|
||||||
|
'1' RECEIVEREQUESTDETAILNAME,
|
||||||
|
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,
|
||||||
|
COALESCE( m2.STOCKORGNO, m.ERPFACTORY ) AS ERPFACTORY,
|
||||||
|
m2.SUPPLIERNO,
|
||||||
|
--m.POCATEGORY,
|
||||||
|
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 FROM MATERIALDELIVERYRECEIVE md
|
||||||
|
LEFT JOIN MATERIALRECEIVEREQUEST m2 ON md.RECEIVEREQUESTNAME = m2.RECEIVEREQUESTNAME
|
||||||
|
LEFT JOIN MATERIALRECEIVEREQUESTDETAIL m ON md.RECEIVEREQUESTNAME = m.RECEIVEREQUESTNAME
|
||||||
|
AND md.RECEIVEREQUESTDETAILNAME = m.RECEIVEREQUESTDETAILNAME
|
||||||
|
LEFT JOIN MATERIALSPEC m3 ON md.MATERIALSPECNAME = m3.MATERIALSPECNAME
|
||||||
|
LEFT JOIN BS_MATERIALFACTORY m4 ON m3.MATERIALSPECNAME = m4.MATERIALSPECNAME AND m2.ERPFACTORY = m4.ERPFACTORY
|
||||||
|
LEFT JOIN BS_ERPLOCATION be ON m.ERPLOCATION = be.ERPLOCATIONNAME
|
||||||
|
LEFT JOIN ORG o ON m2.STOCKORGNO = o.ORGNO
|
||||||
|
LEFT JOIN STORAGESPEC sss ON m.LOCATIONNAME = sss.STORAGENAME
|
||||||
|
WHERE md.DELIVERYNAME = #{deliveryName})
|
||||||
|
|
||||||
|
SELECT M.DELIVERYNAME, M.MATERIALSPECNAME,
|
||||||
|
M.RECEIVETIME,
|
||||||
|
M.MAKEDATE,
|
||||||
|
M.RECEIVEREQUESTDETAILNAME,
|
||||||
|
M.SITENAME,
|
||||||
|
M.ERPLOCATION,
|
||||||
|
M.LOCATIONNAME,
|
||||||
|
M.MATERIALUNIT,
|
||||||
|
M.SDK_ID,
|
||||||
|
M.REMARK,
|
||||||
|
M.SALESPERSON,
|
||||||
|
M.CAREER_ASSISTANCE,
|
||||||
|
M.BUSINESS_UNIT,
|
||||||
|
M.ERPFACTORY,
|
||||||
|
M.SUPPLIERNO,
|
||||||
|
M.DESCRIPTION,
|
||||||
|
M.MATERIALUNITDESC,
|
||||||
|
M.SPECNAME,
|
||||||
|
M.PHASE,
|
||||||
|
M.DESC_CN,
|
||||||
|
M.IS_BATCH,
|
||||||
|
M.REPLACED_VALUE,
|
||||||
|
M.IQCFLAG,
|
||||||
|
M.ERPLOCATION2,
|
||||||
|
M.ERPFACTORY2,
|
||||||
|
M.LOCATIONNAME2,AA.QTY RECEIVEDQUANTITY2,BB.QTY RECEIVEDQUANTITY, CC.QTY REQUESTQUANTITY, (CC.QTY - BB.QTY) MINUSQTY, AA.QTY STOCKINQTY, BB.QTY CREATEQTY FROM DELIVERY M
|
||||||
|
LEFT JOIN AA ON M.DELIVERYNAME = AA.RECEIVEREQUESTNAME AND M.MATERIALSPECNAME = AA.MATERIALSPECNAME
|
||||||
|
LEFT JOIN BB ON M.DELIVERYNAME = BB.RECEIVEREQUESTNAME AND M.MATERIALSPECNAME = BB.MATERIALSPECNAME
|
||||||
|
LEFT JOIN CC ON M.DELIVERYNAME = CC.RECEIVEREQUESTNAME AND M.MATERIALSPECNAME = CC.MATERIALSPECNAME
|
||||||
|
WHERE M.DELIVERYNAME = #{deliveryName}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
Loading…
x
Reference in New Issue
Block a user