wms白胚问题部分接口,和出库过账成功后的明细修改

master
mengjiao 9 months ago
parent 8d62084045
commit 67f3cdde9c

@ -49,6 +49,15 @@ public class WmsOdsMateStorageNews extends BaseEntity {
private String storageType;
private String procureCode;
private String poNo;
private String sn;
public String getSn() {
return sn;
}
public void setSn(String sn) {
this.sn = sn;
}
public String getProcureCode() {
return procureCode;

@ -165,4 +165,8 @@ public interface OdsProcureOutOrderMapper {
void updateWmsOdsProcureOutOrderSpecial(OdsProcureOutOrder order1);
List<OdsProcureOutOrder> selectWmsOdsProcureOutOrderByOrderStatusSpecial(OdsProcureOutOrder order);
List<OdsProcureOutOrder> selectWmsOdsProcureOutOrderSpecialByIDs(List<OdsProcureOutOrder> orderList);
void updateWmsRawMissionOutById(WmsOdsMateStorageNews wmsOdsMateStorageNews);
}

@ -1864,6 +1864,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
//wmsOdsMateStorageNews
wmsOdsMateStorageNews.setLastModifiedBy(SecurityUtils.getUsername());
wmsOdsMateStorageNewsSnMapper.updatesub(wmsOdsMateStorageNews);//库存调整
odsProcureOutOrderMapper.updateWmsRawMissionOutById(wmsOdsMateStorageNews);//库存调整
}
}
} else {
@ -1903,6 +1904,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
//wmsOdsMateStorageNews
wmsOdsMateStorageNews.setLastModifiedBy(SecurityUtils.getUsername());
wmsOdsMateStorageNewsSnMapper.updatesub(wmsOdsMateStorageNews);//库存调整
odsProcureOutOrderMapper.updateWmsRawMissionOutById(wmsOdsMateStorageNews);//库存调整
}
}
} else {//

@ -393,7 +393,130 @@ public class OdsProcureOutOrderServiceImpl implements IOdsProcureOutOrderService
return result;
}
public void OutboundPostingzcSAPGYTS(List<OdsProcureOutOrder> orderList) {
//过账时要对其进行判断判断其内部订单,和成本中心
// //先根据出库单获取
//// * 退料的移动类型为 262
//// * 领料的移动类型为 261-- and wms_ods_procure_out_order.Order_Status='3'
// //我把过账状态-- and wms_ods_procure_out_order.User_Defined10!='2'去掉了
// List<OdsProcureOutOrder> orderList1 = odsProcureOutOrderMapper.selectWmsOdsProcureOutOrderSpecialByIDs(orderList);
// if (orderList1.size()>0){
// return;
// }
// if ("成本中心".equals(orderList1.get(0).getUserDefined6())){
//
// }else {//内部订单
//
// }
// List<OdsProcureOutOrder> orderList2 = new ArrayList<>();//非反冲
// List<Map<String, Object>> mapList = new ArrayList<>();//非反冲
// List<SapBackflushMPQuery> sapMaterialPostingFCList = new ArrayList<>();//反冲
// List<OdsProcureOutOrder> orderList2FC = new ArrayList<>();//反冲
// for (OdsProcureOutOrder odsProcureOutOrder :
// orderList1) {
// if (!"X".equals(odsProcureOutOrder.getUserDefined3())){
// Map<String, Object> map = new HashMap<>();
// map.put("AUFNR", odsProcureOutOrder.getProduceCode());
// map.put("PLANT", odsProcureOutOrder.getSiteCode());
// String lgort = baseWarehouseMapper.selectByCode(odsProcureOutOrder.getLocCode());
// map.put("LGORT", lgort);
// map.put("MATNR", odsProcureOutOrder.getMaterialCode());
// map.put("QUANTITY", odsProcureOutOrder.getOutNumber().toString());
// map.put("MEINS", odsProcureOutOrder.getUnit());
// mapList.add(map);
// orderList2.add(odsProcureOutOrder);
// }else {
// SapBackflushMPQuery sapBackflushMPQuery = new SapBackflushMPQuery();
// sapBackflushMPQuery.setPlant(odsProcureOutOrder.getSiteCode()); //工厂
// String lgort = baseWarehouseMapper.selectByCode(odsProcureOutOrder.getLocCode());
// sapBackflushMPQuery.setLgort(lgort);//库存地点
// sapBackflushMPQuery.setUmlgo("0013");
// sapBackflushMPQuery.setMatnr(odsProcureOutOrder.getMaterialCode());//物料号
// sapBackflushMPQuery.setQuantity(odsProcureOutOrder.getOutNumber().toString()); //数量
// sapBackflushMPQuery.setMeins(odsProcureOutOrder.getUnit()); //基本计量单位
// sapBackflushMPQuery.setBatch(odsProcureOutOrder.getUserDefined2()); //批号
// sapMaterialPostingFCList.add(sapBackflushMPQuery);
// orderList2FC.add(odsProcureOutOrder);
// }
// }
// if (mapList.size() > 0) {
// //非反冲过账
// SapMaterialPosting sapMaterialPosting = new SapMaterialPosting();
// sapMaterialPosting.setPostingType("261");
// sapMaterialPosting.setMapList(mapList);
// R result = remoteSapService.sapMaterialPosting(sapMaterialPosting);
// OdsProcureOutOrder order = new OdsProcureOutOrder();
// int code = result.getCode();
// String msg = result.getMsg();
// //order.setSapMaterialPostingList(sapMaterialPostingList);
// order.setUserDefined11(msg);
// if (code == 200) {
// //过账成功
// Map map = new HashMap();
// map = (Map) result.getData();
// String userDefined9 = (String) map.get("MATERIALDOCUMENT");
// order.setUserDefined9(userDefined9);
// order.setUserDefined10("2");//成功
// for (OdsProcureOutOrder order1:
// orderList2 ) {
// BigDecimal sapNumber= order1.getSapNumber();
// order1.setSapNumber(sapNumber.add(order1.getOutNumber()));//成功..这个是否的outNumber是用已出库减去已经过账的数量
// odsProcureOutOrderMapper.updateWMSOdsProcureOutOrdersapById(order1);
// }
// odsProcureOutOrderMapper.updateWMSOdsProcureOutOrderByids(order, orderList2);
// for (OdsProcureOutOrder order1:
// orderList2) {
// //过账成功--减库存
// List<WmsOdsMateStorageNews> odsEmStorageNews= odsProcureOutOrderMapper.selectWmsRawMissionOutByPrdAndMa(order1);
// for (WmsOdsMateStorageNews wmsOdsMateStorageNews:
// odsEmStorageNews) {
// //wmsOdsMateStorageNews
// wmsOdsMateStorageNews.setLastModifiedBy(SecurityUtils.getUsername());
// wmsOdsMateStorageNewsSnMapper.updatesub(wmsOdsMateStorageNews);//库存调整
// }
// }
// } else {
// //
// order.setUserDefined9("");
// order.setUserDefined10("3");//失败
// odsProcureOutOrderMapper.updateWMSOdsProcureOutOrderByids(order, orderList2);
// }
// }
// if (sapMaterialPostingFCList.size() > 0) {
// //反冲过账
// R result2 = remoteSapService.sapBackflushMP(sapMaterialPostingFCList);//x
// int code = result2.getCode();
// OdsProcureOutOrder order = new OdsProcureOutOrder();
// String msg = result2.getMsg();
// order.setUserDefined11(msg);
// if (code == 200) {
// //过账成功
// Map map = new HashMap();
// map = (Map) result2.getData();
// String userDefined9 = (String) map.get("MATERIALDOCUMENT");
// order.setUserDefined9(userDefined9);
// order.setUserDefined10("2");//成功
// for (OdsProcureOutOrder order1:
// orderList2FC ) {
// BigDecimal sapNumber= order1.getSapNumber();
// order1.setSapNumber(sapNumber.add(order1.getOutNumber()));//成功..这个是否的outNumber是用已出库减去已经过账的数量
// odsProcureOutOrderMapper.updateWMSOdsProcureOutOrdersapById(order1);
// }
// odsProcureOutOrderMapper.updateWMSOdsProcureOutOrderByids(order, orderList2FC);
// for (OdsProcureOutOrder order1:
// orderList2FC) {
// //过账成功--减库存
// List<WmsOdsMateStorageNews> odsEmStorageNews= odsProcureOutOrderMapper.selectWmsRawMissionOutByPrdAndMa(order1);
// for (WmsOdsMateStorageNews wmsOdsMateStorageNews:
// odsEmStorageNews) {
// //wmsOdsMateStorageNews
// wmsOdsMateStorageNews.setLastModifiedBy(SecurityUtils.getUsername());
// wmsOdsMateStorageNewsSnMapper.updatesub(wmsOdsMateStorageNews);//库存调整
// }
// }
// } else {//
// order.setUserDefined9("");
// order.setUserDefined10("3");//失败
// odsProcureOutOrderMapper.updateWMSOdsProcureOutOrderByids(order, orderList2FC);
// }
// }
}
}

@ -640,7 +640,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
proOrderWorkorder.setProOrderWorkorderBatchList(proOrderWorkorderBatchList);
}
proOrderWorkorder.setUnit("辆");
// proOrderWorkorder .setUnit("辆");
return proOrderWorkorder;
}

@ -406,6 +406,7 @@
user_defined2,
user_defined3,
user_defined4,
user_defined5,
sn,
amount,
origin_location,
@ -423,6 +424,7 @@
#{userDefined2},
#{userDefined3},
#{userDefined4},
'1',
#{sn},
#{planNumber},
#{locCode},
@ -1170,9 +1172,11 @@
</select>
<select id="selectWmsRawMissionOutByPrdAndMa" resultType="com.op.wms.domain.WmsOdsMateStorageNews">
SELECT
id storageId,
material_code materialCode,
origin_location waCode,
amount amount,
sn,
user_defined1 userDefined1,
user_defined2 userDefined2,
user_defined3 userDefined3
@ -1180,7 +1184,8 @@
wms_raw_mission_out
WHERE
prd_order=#{produceCode} AND
material_code=#{materialCode}
material_code=#{materialCode} AND
user_defined5='1'
</select>
<select id="selectWmsRawMissionOutByPrdAndMaQC" resultType="java.lang.String">
SELECT
@ -1518,8 +1523,8 @@
</select>
<update id="updateWMSOdsProcureOutOrdersapById" >
update wms_ods_procure_out_order
set Sap_Number = #{order.sapNumber}
where ID = #{order.ID}
set Sap_Number = #{sapNumber}
where ID = #{ID}
</update>
<select id="listckTS" parameterType="OdsProcureOutOrder" resultMap="OdsProcureOutOrderResult">
SELECT
@ -1873,4 +1878,97 @@
and User_Defined10='1'
</select>
<update id="updateWmsOdsProcureOutOrderSpecial" parameterType="OdsProcureOutOrder">
update wms_ods_procure_out_order_special
<trim prefix="SET" suffixOverrides=",">
<if test="siteCode != null">Site_code = #{siteCode},</if>
<if test="produceCode != null">Produce_Code = #{produceCode},</if>
<if test="materialCode != null">Material_Code = #{materialCode},</if>
<if test="materialDesc != null">Material_Desc = #{materialDesc},</if>
<if test="planDate != null">Plan_Date = #{planDate},</if>
<if test="planNumber != null">Plan_Number = #{planNumber},</if>
<if test="Unit != null">Unit = #{Unit},</if>
<if test="outNumber != null">Out_Number = #{outNumber},</if>
<if test="locCode != null">Loc_Code = #{locCode},</if>
<if test="locDesc != null">Loc_Desc = #{locDesc},</if>
<if test="productionLineDesc != null">Production_Line_Desc = #{productionLineDesc},</if>
<if test="productionLineCode != null">Production_Line_Code = #{productionLineCode},</if>
<if test="orderStatus != null">Order_Status = #{orderStatus},</if>
<if test="userDefined1 != null">User_Defined1 = #{userDefined1},</if>
<if test="userDefined2 != null">User_Defined2 = #{userDefined2},</if>
<if test="userDefined3 != null">User_Defined3 = #{userDefined3},</if>
<if test="userDefined4 != null">User_Defined4 = #{userDefined4},</if>
<if test="userDefined5 != null">User_Defined5 = #{userDefined5},</if>
<if test="userDefined6 != null">User_Defined6 = #{userDefined6},</if>
<if test="userDefined7 != null">User_Defined7 = #{userDefined7},</if>
<if test="userDefined8 != null">User_Defined8 = #{userDefined8},</if>
<if test="userDefined9 != null">User_Defined9 = #{userDefined9},</if>
<if test="userDefined10 != null">User_Defined10 = #{userDefined10},</if>
<if test="userDefined11 != null">User_Defined11 = #{userDefined11},</if>
<if test="supplierCode != null">Supplier_Code = #{supplierCode},</if>
<if test="supplierName != null">Supplier_Name = #{supplierName},</if>
<if test="createBy != null">Create_By = #{createBy},</if>
<if test="createDate != null">Create_Date = #{createDate},</if>
<if test="lastUpdateBy != null">Last_Update_By = #{lastUpdateBy},</if>
<if test="lastUpdateDate != null">Last_Update_Date = #{lastUpdateDate},</if>
<if test="Active != null">Active = #{Active},</if>
<if test="enterpriseId != null">Enterprise_Id = #{enterpriseId},</if>
<if test="enterpriseCode != null">Enterprise_Code = #{enterpriseCode},</if>
<if test="sapNumber != null">Sap_Number = #{sapNumber},</if>
</trim>
where ID = #{ID}
</update>
<select id="selectWmsOdsProcureOutOrderSpecialByIDs" resultMap="OdsProcureOutOrderResult">
SELECT DISTINCT
wms_ods_procure_out_order_special.Site_code,
wms_ods_procure_out_order_special.ID,
wms_ods_procure_out_order_special.Produce_Code,
wms_ods_procure_out_order_special.Material_Code,
wms_ods_procure_out_order_special.Material_Desc,
wms_ods_procure_out_order_special.Plan_Date,
wms_ods_procure_out_order_special.Plan_Number,
wms_ods_procure_out_order_special.Unit,
COALESCE ( wms_ods_procure_out_order_special.Out_Number, 0 ) - COALESCE ( wms_ods_procure_out_order_special.Sap_Number, 0 ) AS Out_Number ,
wms_raw_mission_out.user_defined2 Loc_Code,
wms_ods_procure_out_order_special.Loc_Desc,
wms_ods_procure_out_order_special.Production_Line_Desc,
wms_ods_procure_out_order_special.Production_Line_Code,
wms_ods_procure_out_order_special.Order_Status,
wms_ods_procure_out_order_special.User_Defined1,
wms_ods_procure_out_order_special.User_Defined2,
wms_ods_procure_out_order_special.User_Defined3,
wms_ods_procure_out_order_special.User_Defined4,
wms_ods_procure_out_order_special.User_Defined5,
wms_ods_procure_out_order_special.User_Defined6,
wms_ods_procure_out_order_special.User_Defined7,
wms_ods_procure_out_order_special.User_Defined8,
wms_ods_procure_out_order_special.User_Defined9,
wms_ods_procure_out_order_special.User_Defined10,
wms_ods_procure_out_order_special.User_Defined11,
wms_ods_procure_out_order_special.Supplier_Code,
wms_ods_procure_out_order_special.Supplier_Name,
wms_ods_procure_out_order_special.Create_By,
wms_ods_procure_out_order_special.Create_Date,
wms_ods_procure_out_order_special.Last_Update_By,
wms_ods_procure_out_order_special.Last_Update_Date,
wms_ods_procure_out_order_special.Active,
wms_ods_procure_out_order_special.Enterprise_Id,
COALESCE ( wms_ods_procure_out_order_special.Sap_Number, 0 ) AS Sap_Number,
wms_ods_procure_out_order_special.Enterprise_Code
FROM
wms_ods_procure_out_order_special
LEFT JOIN wms_raw_mission_out ON wms_raw_mission_out.prd_order = wms_ods_procure_out_order_special.Produce_Code
AND wms_raw_mission_out.material_code = wms_ods_procure_out_order_special.Material_Code
where wms_ods_procure_out_order_special.ID IN
<foreach item="odsProcureOutOrder" collection="list" open="(" separator="," close=")">
#{odsProcureOutOrder.ID}
</foreach>
AND (COALESCE ( wms_ods_procure_out_order_special.Out_Number, 0 ) - COALESCE ( wms_ods_procure_out_order_special.Sap_Number, 0 ))>0
</select>
<update id="updateWmsRawMissionOutById" parameterType="com.op.wms.domain.WmsOdsMateStorageNews">
update wms_raw_mission_out
set user_defined5 = '2'
where id=#{storageId}
</update>
</mapper>

@ -273,7 +273,7 @@
amount = ISNULL(amount, 0) - #{amount},
last_modified_by=#{lastModifiedBy},
gmt_modified=GETDATE()
where wh_code=#{userDefined2} and wa_code=#{waCode} and wl_code=#{userDefined3} and material_code=#{materialCode}
where wh_code=#{userDefined2} and wl_code=#{sn} and wa_code=#{waCode} and wl_code=#{userDefined3} and material_code=#{materialCode}
</update>
<select id="selectByWhCodeAndMate">

@ -239,27 +239,59 @@
where Order_Code=#{orderCode}
</update>
<select id="selectProOrderWorkorder" resultType="com.op.wms.domain.ProOrderWorkorder">
SELECT
workorder_id workorderId,
workorder_code workorderCode,
workorder_name workorderName,
order_id orderId,
order_code orderCode,
product_code productCode ,
product_name productName,
unit unit,
quantity_split quantitySplit,
route_code routeCode,
prod_line_code prodLineCode,
product_date productDate,
factory_code factoryCode,
prod_type prodType,
attr1,
workorder_code_sap workorderCodeSap
pow.workorder_id AS workorderId,
pow.workorder_code AS workorderCode,
pow.workorder_name AS workorderName,
pow.order_id AS orderId,
pow.order_code AS orderCode,
pow.product_code AS productCode,
pow.product_name AS productName,
pow.unit AS unit,
pow.quantity_split AS quantitySplit,
pow.route_code AS routeCode,
pow.prod_line_code AS prodLineCode,
pow.product_date AS productDate,
pow.factory_code AS factoryCode,
pow.prod_type AS prodType,
CAST(TRY_CAST(pow.attr1 AS DECIMAL(18, 2)) * TRY_CAST(pro.car_num_unit AS DECIMAL(18, 2)) AS INT) AS attr1,
pro.car_num_unit,
pow.attr1 ,
pow.workorder_code_sap AS workorderCodeSap
FROM
pro_order_workorder
WHERE workorder_code=#{orderCode}
AND del_flag='0'
pro_order_workorder pow
LEFT JOIN (
SELECT
pr.route_id,
pr.route_code,
pr.route_name,
pr.route_desc,
pr.enable_flag,
pr.remark,
pr.attr1,
pr.attr2,
pr.attr3,
pr.attr4,
pr.create_by,
pr.create_time,
pr.update_by,
pr.update_time,
pr.route_version,
pr.need_check,
pr.tec_man,
pr.tec_machine,
pr.tec_other,
pr.tec_depreciation,
pr.car_num_unit,
prt.item_code
FROM
pro_route pr
LEFT JOIN pro_route_product prt ON pr.route_id = prt.route_id
) AS pro ON pro.item_code = pow.product_code
WHERE
pow.workorder_code =#{orderCode}
AND pow.del_flag = '0'
</select>
<select id="selectProOrderWorkorderBatch" resultType="com.op.wms.domain.ProOrderWorkorderBatch">

Loading…
Cancel
Save