委外加工加工费更新
--------------------------更新委外加工单
DECLARE @ARG_PARTID VARCHAR(40),
@ARG_EXTRAUNITID VARCHAR(40),
@ARG_FACTPRICE DECIMAL(18,4),
@ARG_FACTPRICE_UN DECIMAL(18,4),
@arg_count decimal(10,2)
select @arg_count = 1
DECLARE CUR_FACTPRICE CURSOR FOR
SELECT PART_ID , EXTRAUNIT_ID , FACTPRICE_PRICETAX ,factprice_price
FROM F_FACTPRICE
WHERE FACTPRICE_STATUS = 'E' AND
factprice_type = '加工费'
OPEN CUR_FACTPRICE
FETCH CUR_FACTPRICE INTO @ARG_PARTID,@ARG_EXTRAUNITID,@ARG_FACTPRICE,@ARG_FACTPRICE_UN
WHILE (@@fetch_status = 0)
BEGIN
DECLARE @ARG_PCHSORD_ID VARCHAR(40),
@ARG_PAYMENT DECIMAL(18,4),
@ARG_AMNT DECIMAL(18,4),
@ARG_ACOST DECIMAL(18,4),
@ARG_COST DECIMAL(18,4),
@ARG_DIFF DECIMAL(18,4)
----------------------
DECLARE CUR_ASS CURSOR FOR
SELECT ASSORD_ID,assord_partamnt
FROM F_ASS_ORD
WHERE part_id = @ARG_PARTID
AND assord_shipfm = @ARG_EXTRAUNITID
OPEN CUR_ASS
FETCH CUR_ASS INTO @ARG_PCHSORD_ID,@ARG_AMNT
WHILE (@@fetch_status = 0)
BEGIN
SELECT @ARG_PAYMENT = @ARG_AMNT * @ARG_FACTPRICE
update F_ASS_ORD
set assord_payment = @ARG_PAYMENT,
ASSORD_PROCESS_FEE = @ARG_FACTPRICE
where ASSORD_ID = @ARG_PCHSORD_ID
FETCH CUR_ASS INTO @ARG_PCHSORD_ID,@ARG_AMNT
end
CLOSE CUR_ASS
DEALLOCATE CUR_ASS
select @arg_count = @arg_count + 1
DECLARE CUR_ASS_1 CURSOR FOR
SELECT M.ASSORD_ID,M.ASSORD_PAYMENT,D.ASS_ORDIT_AMNT,D.ASS_ORDIT_ACOST,D.ASS_ORDIT_COST
FROM F_ASS_ORD M INNER JOIN F_ASS_ORD_ITEMS D ON M.ASSORD_ID = D.ASSORD_ID
WHERE D.PART_ID = @ARG_PARTID
AND M.ASSORD_SHIPFM = @ARG_EXTRAUNITID
OPEN CUR_ASS_1
FETCH CUR_ASS_1 INTO @ARG_PCHSORD_ID,@ARG_PAYMENT,@ARG_AMNT,@ARG_ACOST,@ARG_COST
WHILE (@@fetch_status = 0)
BEGIN
-- SELECT @ARG_DIFF = @ARG_AMNT * @ARG_FACTPRICE + @ARG_ACOST - @ARG_COST
SELECT @ARG_COST = @ARG_AMNT * @ARG_FACTPRICE + @ARG_COST
-- SELECT @ARG_PAYMENT = @ARG_PAYMENT + @ARG_DIFF
print @ARG_PARTID
print '!!!!!!!!!!!!!'
print @ARG_FACTPRICE
update F_ASS_ORD_ITEMS
set ASS_ORDIT_COST = @ARG_COST,
ASS_ORDIT_PRICE = @ARG_FACTPRICE
where ASSORD_ID = @ARG_PCHSORD_ID
and PART_ID = @ARG_PARTID
-- update F_ASS_ORD
-- set ASSORD_PAYMENT = @ARG_PAYMENT
-- where ASSORD_ID = @ARG_PCHSORD_ID
FETCH CUR_ASS_1 INTO @ARG_PCHSORD_ID,@ARG_PAYMENT,@ARG_AMNT,@ARG_ACOST,@ARG_COST
END
CLOSE CUR_ASS_1
DEALLOCATE CUR_ASS_1
FETCH CUR_FACTPRICE INTO @ARG_PARTID,@ARG_EXTRAUNITID,@ARG_FACTPRICE,@ARG_FACTPRICE_UN
END
print @arg_count
CLOSE CUR_FACTPRICE
DEALLOCATE CUR_FACTPRICE
浙公网安备 33010602011771号