wms成品报错问题

master
mengjiao 2 months ago
parent 386dbbb273
commit 7dec1b6c8f

@ -4,7 +4,9 @@ import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.op.wms.domain.OdsProcureOrder;
import com.op.wms.domain.WmsProductPut;
import com.op.wms.service.IOdsProcureOrderService;
import com.op.wms.service.IWmsProductPutService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@ -40,6 +42,9 @@ public class WmsRawOrderInController extends BaseController {
@Autowired
private IOdsProcureOrderService odsProcureOrderService;
@Autowired
private IWmsProductPutService wmsProductPutService;
/**
*
*/
@ -117,8 +122,9 @@ public class WmsRawOrderInController extends BaseController {
return success(result);
}
@PostMapping("/handleUpdateSAP102")
public AjaxResult handleUpdateSAP102(@RequestBody List<OdsProcureOrder> odsProcureOrder) {
String result = odsProcureOrderService.handleUpdateSAP102(odsProcureOrder);
public AjaxResult handleUpdateSAP102(@RequestBody List<WmsProductPut> wmsProductPutList) {
// String result =null;
String result = wmsProductPutService.handleUpdateSAP102(wmsProductPutList);
return success(result);
}
}

@ -72,25 +72,27 @@ public interface WmsProductPutMapper {
public WmsProductPut selectWmsProductPutSAPById(String id);
List<wmsReportWork> getReportList(wmsReportWork mesReportWork);
public List<wmsReportWork> getReportList(wmsReportWork mesReportWork);
List<WmsProductPut> selectWmsProductPutSAPByProDuct(String productOrder);
public List<WmsProductPut> selectWmsProductPutSAPByProDuct(String productOrder);
void updateWmsProductPutByIds(@Param("wmsProductPut") WmsProductPut wmsProductPut4, @Param("list") List<WmsProductPut> wmsProductPut2);
public void updateWmsProductPutByIds(@Param("wmsProductPut") WmsProductPut wmsProductPut4, @Param("list") List<WmsProductPut> wmsProductPut2);
WmsProductPut WmsProductPutByWorkOrderqueryBS(WmsProductPut wmsProductPut);
public WmsProductPut WmsProductPutByWorkOrderqueryBS(WmsProductPut wmsProductPut);
WmsProductPut selectProOrderWorkorderBatchPallet(WmsProductPut wmsProductPut);
public WmsProductPut selectProOrderWorkorderBatchPallet(WmsProductPut wmsProductPut);
WmsProductPut selectProOrderWorkorderBatchPalletcode(WmsProductPut wmsProductPut);
public WmsProductPut selectProOrderWorkorderBatchPalletcode(WmsProductPut wmsProductPut);
WmsProductPut selectProOrderWorkorderBatchPalletAtter(ProOrderWorkorder proOrderWorkorder);
public WmsProductPut selectProOrderWorkorderBatchPalletAtter(ProOrderWorkorder proOrderWorkorder);
void updateProOrderWorkorderBatchPallet(@Param("palletCode")String sn);
public void updateProOrderWorkorderBatchPallet(@Param("palletCode")String sn);
void updateWmsProductStatus(WmsProductPut wmsProductPut2);
public void updateWmsProductStatus(WmsProductPut wmsProductPut2);
List<WmsProductPut> selectWmsProductPutSAPByIds(@Param("id")String id);
public List<WmsProductPut> selectWmsProductPutSAPByIds(@Param("id")String id);
public WmsProductPut selectWmsProductPutByIdANDStatus(String id);
// String selectProOrderWorkorder(WmsProductPut wmsProductPut1);

@ -95,4 +95,8 @@ public interface WmsSellOutEmbryoMapper {
List<WmsSellOutEmbryo> selectWmsSellOutEmbryoListTS(WmsSellOutEmbryo wmsSellOutEmbryo);
List<WmsSellOutEmbryo> selectWmsSellOutEmbryoREListTS(WmsSellOutEmbryo wmsSellOutEmbryo);
public int insertWmsSellOutEmbryoOrder(WmsSellOutEmbryo wmsSellOutEmbryo);
public String selectwmsFpStorageNewsTS(String formattedDate);
}

@ -154,5 +154,5 @@ public interface IOdsProcureOrderService {
String upbatCardXNew(OdsProcureOrder order);
String handleUpdateSAP102(List<OdsProcureOrder> odsProcureOrder);
}

@ -146,4 +146,6 @@ public interface IWmsProductPutService {
String WmsProductPutByWorkOrderConfirmT(WmsProductPut wmsProductPutList);
List<WmsSellOutEmbryo> selectQueryFinishedProductSalesTS(WmsSellOutEmbryo wmsSellOutEmbryo);
String handleUpdateSAP102(List<WmsProductPut> wmsProductPutList);
}

@ -1566,71 +1566,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
return result;
}
@Override
public String handleUpdateSAP102(List<OdsProcureOrder> odsProcureOrders) {
String result="操作成功";
for (OdsProcureOrder order: odsProcureOrders){
OdsProcureOrder odsProcureOrder = order;
WmsRawOrderIn wmsRawOrderIn= wmsRawOrderInMapper.selectWmsRawOrderInByRawOrderInIdThress(odsProcureOrder.getID());
//这个地方
Map paramMap=new HashMap<>();
List<Map> mapList = new ArrayList<>();
paramMap.put("S_MBLNR",wmsRawOrderIn.getUserDefined1());
paramMap.put("S_MJAHR",wmsRawOrderIn.getUserDefined2());
paramMap.put("S_MATNR",wmsRawOrderIn.getMaterialCode());
paramMap.put("incomeBatchNo",wmsRawOrderIn.getIncomeBatchNo()); //批次
paramMap.put("ebelp",wmsRawOrderIn.getPoLine());
paramMap.put("poNo",wmsRawOrderIn.getPoNo());
mapList.add(paramMap);
R result2 = remoteSapService.handleUpdateSAP102(mapList);
if (result2.getCode()==200){
Map map = new HashMap();
map = (Map) result2.getData();
String MATERIALDOCUMENT = (String) map.get("MATERIALDOCUMENT");
String MATDOCUMENTYEAR = (String) map.get("MATDOCUMENTYEAR");
//成功了--成功了,根据
WmsRawOrderInSn wmsRawOrderInSn=new WmsRawOrderInSn();
wmsRawOrderInSn.setUserDefined5(wmsRawOrderIn.getDnNo());
wmsRawOrderInSn.setUserDefined1("1");//暂收
wmsRawOrderInSn.setUserDefined3(wmsRawOrderIn.getKem());
List<WmsRawOrderInSn> wmsRawOrderInSnList= wmsRawOrderInSnMapper.selectWmsRawOrderInSnList(wmsRawOrderInSn);
for (WmsRawOrderInSn wmsRawOrderInSn1:
wmsRawOrderInSnList) {
WmsOdsMateStorageNewsSn wmsRawOrderInNewsSn=new WmsOdsMateStorageNewsSn();
wmsRawOrderInNewsSn.setMaterialCode(wmsRawOrderInSn1.getMaterialCode());
wmsRawOrderInNewsSn.setWaCode(wmsRawOrderInSn1.getWaCode());
wmsRawOrderInNewsSn.setWhCode(wmsRawOrderInSn1.getWhCode());
wmsRawOrderInNewsSn.setWlCode(wmsRawOrderInSn1.getWlCode());
wmsRawOrderInNewsSn.setUserDefined3("1");
wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSnTWM(wmsRawOrderInNewsSn);
wmsRawOrderInSn1.setUserDefined1("2");
wmsRawOrderInSnMapper.updateWmsRawOrderInSn(wmsRawOrderInSn1);
WmsOdsMateStorageNews wmsOdsMateStorageNews=new WmsOdsMateStorageNews();
wmsOdsMateStorageNews.setMaterialCode(wmsRawOrderInSn1.getMaterialCode());
wmsOdsMateStorageNews.setWaCode(wmsRawOrderInSn1.getWaCode());
wmsOdsMateStorageNews.setWlCode(wmsRawOrderInSn1.getWlCode());
wmsOdsMateStorageNews.setWhCode(wmsRawOrderInSn1.getWhCode());
wmsOdsMateStorageNews.setStorageAmount(wmsRawOrderInSn1.getAmount());
wmsOdsMateStorageNewsMapper.updateWmsOdsMateStorageNewsUpdateStorageAmount(wmsOdsMateStorageNews);
}
wmsRawOrderIn.setOrderStatus("1");
wmsRawOrderIn.setAccountingTime(new Date());
wmsRawOrderIn.setAccountingMessage(result2.getMsg());
wmsRawOrderIn.setUserDefined4(MATERIALDOCUMENT);
wmsRawOrderIn.setUserDefined5(MATDOCUMENTYEAR);
wmsRawOrderInMapper.updateWmsRawOrderIn(wmsRawOrderIn);
}else {
//失败了
wmsRawOrderIn.setAccountingTime(new Date());
wmsRawOrderIn.setAccountingMessage(result2.getMsg());
wmsRawOrderInMapper.updateWmsRawOrderIn(wmsRawOrderIn);
}
}
return result;
}
@Override
@DS("#header.poolName")

@ -1262,6 +1262,86 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
return wmsSellOutEmbryoList;
}
/**
* LFBJA NUMC 4 0
* LFBNR CHAR 10 0
* LFPOS NUMC 4 0
* EBELN CHAR 10 0
* EBELP NUMC 5 0
* MATNR CHAR 18 0
* QUANTITY QUAN 13 3
* WERKS CHAR 4 0
* LGORT CHAR 4 0
* @param wmsProductPutList
* @return
*/
@Override
@DS("#header.poolName")
public String handleUpdateSAP102(List<WmsProductPut> wmsProductPutList) {
String result="操作成功";
for (WmsProductPut wmsProductPut: wmsProductPutList){
// WmsProductPut wmsProductPut1= wmsProductPutMapper.selectWmsProductPutByIdANDStatus(wmsProductPut.getId());
//
// //这个地方
// Map paramMap=new HashMap<>();
// List<Map> mapList = new ArrayList<>();
// paramMap.put("S_MBLNR",wmsRawOrderIn.getUserDefined1());
// paramMap.put("S_MJAHR",wmsRawOrderIn.getUserDefined2());
// paramMap.put("S_MATNR",wmsRawOrderIn.getMaterialCode());
// paramMap.put("incomeBatchNo",wmsRawOrderIn.getIncomeBatchNo()); //批次
// paramMap.put("ebelp",wmsRawOrderIn.getPoLine());
// paramMap.put("poNo",wmsRawOrderIn.getPoNo());
// mapList.add(paramMap);
// R result2 = remoteSapService.handleUpdateSAP102(mapList);
// if (result2.getCode()==200){
// Map map = new HashMap();
// map = (Map) result2.getData();
// String MATERIALDOCUMENT = (String) map.get("MATERIALDOCUMENT");
// String MATDOCUMENTYEAR = (String) map.get("MATDOCUMENTYEAR");
// //成功了--成功了,根据
// WmsRawOrderInSn wmsRawOrderInSn=new WmsRawOrderInSn();
// wmsRawOrderInSn.setUserDefined5(wmsRawOrderIn.getDnNo());
// wmsRawOrderInSn.setUserDefined1("1");//暂收
//
// wmsRawOrderInSn.setUserDefined3(wmsRawOrderIn.getKem());
// List<WmsRawOrderInSn> wmsRawOrderInSnList= wmsRawOrderInSnMapper.selectWmsRawOrderInSnList(wmsRawOrderInSn);
// for (WmsRawOrderInSn wmsRawOrderInSn1:
// wmsRawOrderInSnList) {
// WmsOdsMateStorageNewsSn wmsRawOrderInNewsSn=new WmsOdsMateStorageNewsSn();
// wmsRawOrderInNewsSn.setMaterialCode(wmsRawOrderInSn1.getMaterialCode());
// wmsRawOrderInNewsSn.setWaCode(wmsRawOrderInSn1.getWaCode());
// wmsRawOrderInNewsSn.setWhCode(wmsRawOrderInSn1.getWhCode());
// wmsRawOrderInNewsSn.setWlCode(wmsRawOrderInSn1.getWlCode());
// wmsRawOrderInNewsSn.setUserDefined3("1");
// wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSnTWM(wmsRawOrderInNewsSn);
// wmsRawOrderInSn1.setUserDefined1("2");
// wmsRawOrderInSnMapper.updateWmsRawOrderInSn(wmsRawOrderInSn1);
// WmsOdsMateStorageNews wmsOdsMateStorageNews=new WmsOdsMateStorageNews();
// wmsOdsMateStorageNews.setMaterialCode(wmsRawOrderInSn1.getMaterialCode());
// wmsOdsMateStorageNews.setWaCode(wmsRawOrderInSn1.getWaCode());
// wmsOdsMateStorageNews.setWlCode(wmsRawOrderInSn1.getWlCode());
// wmsOdsMateStorageNews.setWhCode(wmsRawOrderInSn1.getWhCode());
// wmsOdsMateStorageNews.setStorageAmount(wmsRawOrderInSn1.getAmount());
// wmsOdsMateStorageNewsMapper.updateWmsOdsMateStorageNewsUpdateStorageAmount(wmsOdsMateStorageNews);
// }
// wmsRawOrderIn.setOrderStatus("1");
// wmsRawOrderIn.setAccountingTime(new Date());
// wmsRawOrderIn.setAccountingMessage(result2.getMsg());
// wmsRawOrderIn.setUserDefined4(MATERIALDOCUMENT);
// wmsRawOrderIn.setUserDefined5(MATDOCUMENTYEAR);
// wmsRawOrderInMapper.updateWmsRawOrderIn(wmsRawOrderIn);
//
// }else {
// //失败了
// wmsRawOrderIn.setAccountingTime(new Date());
// wmsRawOrderIn.setAccountingMessage(result2.getMsg());
// wmsRawOrderInMapper.updateWmsRawOrderIn(wmsRawOrderIn);
//
// }
}
return result;
}
@Override
public List<WmsRuturnPutEmbryo> FinishedProductSalesReturn(WmsRuturnPutEmbryo wmsRuturnPutEmbryo) {
DynamicDataSourceContextHolder.push("ds_" + wmsRuturnPutEmbryo.getFactoryCode());

@ -167,7 +167,10 @@ public class WmsSellOutEmbryoServiceImpl implements IWmsSellOutEmbryoService {
public String addRE(List<WmsSellOutEmbryo> wmsSellOutEmbryoList) {
String result="完成";
String stockOrder="BH";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
//TH ods_procure_order_card
Date date = new Date();
String formattedDate = dateFormat.format(date);
for (WmsSellOutEmbryo wmsSellOutEmbryo:
wmsSellOutEmbryoList) {
WmsSellOutEmbryo wmsSellOutEmbryo1= wmsSellOutEmbryoMapper.selectWmsSellOutEmbryoById(wmsSellOutEmbryo.getId());
@ -179,20 +182,28 @@ public class WmsSellOutEmbryoServiceImpl implements IWmsSellOutEmbryoService {
}
//区分大小planQuantity
for ( WmsFpStorageNewsSn wmsFpStorageNewsSn: wmsFpStorageNewsSns){
BigDecimal tem= wmsFpStorageNewsSn.getAmount();
BigDecimal tem= wmsFpStorageNewsSn.getAmount();//数量
//planQuantity看成总数量
String stock= wmsSellOutEmbryoMapper.selectwmsFpStorageNewsTS(formattedDate);
if(planQuantity.compareTo(tem)<=0){
//生成一个
//生成一个
wmsSellOutEmbryo1.setStockOrder("BH"+stock);
wmsSellOutEmbryo1.setWaCode(wmsFpStorageNewsSn.getWaCode());
wmsSellOutEmbryo1.setPlanQuantity(planQuantity);
wmsSellOutEmbryoMapper.insertWmsSellOutEmbryo(wmsSellOutEmbryo);
wmsSellOutEmbryo1.setId(IdUtils.fastSimpleUUID());
wmsSellOutEmbryoMapper.insertWmsSellOutEmbryoOrder(wmsSellOutEmbryo);
return result;
}else {
wmsSellOutEmbryo1.setStockOrder("BH"+stock);
planQuantity = planQuantity.subtract(tem); // 用总数量减去tem更新planQuantity的值
wmsSellOutEmbryo1.setWaCode(wmsFpStorageNewsSn.getWaCode()); // 设置wmsSellOutEmbryo1的waCode为当前wmsFpStorageNewsSn的waCode
wmsSellOutEmbryo1.setPlanQuantity(tem); // 将tem的值赋给wmsSellOutEmbryo1的planQuantity
wmsSellOutEmbryo1.setId(IdUtils.fastSimpleUUID()); // 生成一个唯一ID并设置到wmsSellOutEmbryo1的ID字段
wmsSellOutEmbryoMapper.insertWmsSellOutEmbryoOrder(wmsSellOutEmbryo1); // 将wmsSellOutEmbryo1插入到数据库
}
}
}
return null;
return result;
}
@Override

@ -517,4 +517,9 @@
WHERE wms_product_put.id = #{id}
AND wms_product_put.SAP_status IN ( 0, 2 )
</select>
<select id="selectWmsProductPutByIdANDStatus" parameterType="String" resultMap="WmsProductPutResult">
<include refid="selectWmsProductPutVo"/>
where id = #{id}
and status='1'
</select>
</mapper>

@ -394,6 +394,91 @@
<if test="remark != null">#{remark},</if>
</trim>
</insert>
<insert id="insertWmsSellOutEmbryoOrder" parameterType="WmsSellOutEmbryo">
insert into wms_sell_out_embryo_order
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="deliveryOrder != null">delivery_order,</if>
<if test="itemNumber != null">Item_number,</if>
<if test="factoryCode != null">factory_code,</if>
<if test="whCode != null">wh_code,</if>
<if test="waCode != null">wa_code,</if>
<if test="wlCode != null">wl_code,</if>
<if test="deliveryPlace != null">delivery_place,</if>
<if test="productName != null">product_name,</if>
<if test="productCode != null">product_code,</if>
<if test="productSort != null">product_sort,</if>
<if test="specification != null">specification,</if>
<if test="unitOfMeasure != null">unit_of_measure,</if>
<if test="lotNumber != null">lot_number,</if>
<if test="planQuantity != null">plan_quantity,</if>
<if test="outQuantity != null">out_quantity,</if>
<if test="status != null">status,</if>
<if test="sapStatus != null">SAP_status,</if>
<if test="sapProof != null">SAP_proof,</if>
<if test="sapMessage != null">SAP_message,</if>
<if test="outDate != null">out_date,</if>
<if test="attr1 != null">attr1,</if>
<if test="attr2 != null">attr2,</if>
<if test="attr3 != null">attr3,</if>
<if test="attr4 != null">attr4,</if>
<if test="attr5 != null">attr5,</if>
<if test="attr6 != null">attr6,</if>
<if test="attr7 != null">attr7,</if>
<if test="attr8 != null">attr8,</if>
<if test="attr9 != null">attr9,</if>
<if test="attr10 != null">attr10,</if>
<if test="attr11 != null">attr11,</if>
<if test="attr12 != null">attr12,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="remark != null">remark,</if>
<if test="stockOrder != null">stock_order,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
<if test="deliveryOrder != null">#{deliveryOrder},</if>
<if test="itemNumber != null">#{itemNumber},</if>
<if test="factoryCode != null">#{factoryCode},</if>
<if test="whCode != null">#{whCode},</if>
<if test="waCode != null">#{waCode},</if>
<if test="wlCode != null">#{wlCode},</if>
<if test="deliveryPlace != null">#{deliveryPlace},</if>
<if test="productName != null">#{productName},</if>
<if test="productCode != null">#{productCode},</if>
<if test="productSort != null">#{productSort},</if>
<if test="specification != null">#{specification},</if>
<if test="unitOfMeasure != null">#{unitOfMeasure},</if>
<if test="lotNumber != null">#{lotNumber},</if>
<if test="planQuantity != null">#{planQuantity},</if>
<if test="outQuantity != null">#{outQuantity},</if>
<if test="status != null">#{status},</if>
<if test="sapStatus != null">#{sapStatus},</if>
<if test="sapProof != null">#{sapProof},</if>
<if test="sapMessage != null">#{sapMessage},</if>
<if test="outDate != null">#{outDate},</if>
<if test="attr1 != null">#{attr1},</if>
<if test="attr2 != null">#{attr2},</if>
<if test="attr3 != null">#{attr3},</if>
<if test="attr4 != null">#{attr4},</if>
<if test="attr5 != null">#{attr5},</if>
<if test="attr6 != null">#{attr6},</if>
<if test="attr7 != null">#{attr7},</if>
<if test="attr8 != null">#{attr8},</if>
<if test="attr9 != null">#{attr9},</if>
<if test="attr10 != null">#{attr10},</if>
<if test="attr11 != null">#{attr11},</if>
<if test="attr12 != null">#{attr12},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="remark != null">#{remark},</if>
<if test="stockOrder != null">#{stockOrder},</if>
</trim>
</insert>
<insert id="insertWmsSellOutEmbryoSpecial" parameterType="WmsSellOutEmbryo">
insert into wms_sell_out_embryo_special
<trim prefix="(" suffix=")" suffixOverrides=",">
@ -810,5 +895,18 @@
</select>
<select id="selectwmsFpStorageNewsTS" resultType="java.lang.String">
-- 优化后的 SQL 查询
SELECT
COALESCE(
MAX(TRY_CAST(SUBSTRING(stock_order, 3, 12) AS BIGINT)), -- 提取数字部分并尝试转换为 BIGINT
CAST(CONCAT(#{formattedDate}, '0001') AS BIGINT) -- 使用 BIGINT 来避免溢出
) + 1 AS Result_Value -- 将 +1 移到外层
FROM
wms_sell_out_embryo_order
WHERE
stock_order LIKE CONCAT('%', #{formattedDate}, '%');
</select>
</mapper>

Loading…
Cancel
Save