wms包材库存页面添加上送货单和采购单--有利于反查,同时加上补打按钮

master
mengjiao 6 months ago
parent eda3150b06
commit 3f4d016372

@ -95,4 +95,14 @@ public class WmsOdsMateStorageNewsSnController extends BaseController {
public AjaxResult remove(@PathVariable Long[] mateOrderInSnIds) {
return toAjax(wmsOdsMateStorageNewsSnService.deleteWmsOdsMateStorageNewsSnByMateOrderInSnIds(mateOrderInSnIds));
}
/**
*
*/
@PostMapping("cardDy")
public AjaxResult cardDy(@RequestBody List<WmsOdsMateStorageNewsSn> list) {
return success(wmsOdsMateStorageNewsSnService.cardDy(list));
}
}

@ -58,6 +58,15 @@ public class WmsOdsMateStorageNewsSn extends BaseEntity {
*/
@Excel(name = "采购订单行项目")
private String poLine;
private String procureCode;
public String getProcureCode() {
return procureCode;
}
public void setProcureCode(String procureCode) {
this.procureCode = procureCode;
}
/**
*

@ -103,4 +103,6 @@ public interface OdsProcureOrderMapper {
void deleteBatchPallet(@Param("list")List<OdsProcureOrder> dtos0);
List<OdsProcureOrder> getIdCardListByU1(OdsProcureOrder order);
}

@ -6,6 +6,7 @@ import com.op.wms.domain.WmsOdsEmStorageNews;
import com.op.wms.domain.WmsOdsMateStorageNews;
import com.op.wms.domain.WmsOdsMateStorageNewsSn;
import com.op.wms.domain.WmsToWCSDTO;
import org.apache.ibatis.annotations.Param;
/**
* Mapper
@ -80,4 +81,6 @@ public interface WmsOdsMateStorageNewsSnMapper {
public void updatesub(WmsOdsMateStorageNews wmsOdsMateStorageNews);
public void updateWmsOdsMateStorageNewsSnTWM(WmsOdsMateStorageNewsSn wmsRawOrderInNewsSn);
List<WmsOdsMateStorageNewsSn> cardDy(@Param("list")List<WmsOdsMateStorageNewsSn> list);
}

@ -58,4 +58,6 @@ public interface IWmsOdsMateStorageNewsSnService {
* @return
*/
public int deleteWmsOdsMateStorageNewsSnByMateOrderInSnId(Long mateOrderInSnId);
String cardDy(List<WmsOdsMateStorageNewsSn> list);
}

@ -1,9 +1,18 @@
package com.op.wms.service.impl;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson2.JSONArray;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.wms.domain.OdsProcureOrder;
import com.op.wms.mapper.OdsProcureOrderMapper;
import okhttp3.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import com.op.wms.mapper.WmsOdsMateStorageNewsSnMapper;
import com.op.wms.domain.WmsOdsMateStorageNewsSn;
@ -17,9 +26,14 @@ import com.op.wms.service.IWmsOdsMateStorageNewsSnService;
*/
@Service
public class WmsOdsMateStorageNewsSnServiceImpl implements IWmsOdsMateStorageNewsSnService {
@Value("${dayin.url1}")
private String dayinUrl1;
@Autowired
private WmsOdsMateStorageNewsSnMapper wmsOdsMateStorageNewsSnMapper;
@Autowired
private OdsProcureOrderMapper odsProcureOrderMapper;
/**
*
*
@ -91,4 +105,89 @@ public class WmsOdsMateStorageNewsSnServiceImpl implements IWmsOdsMateStorageNew
public int deleteWmsOdsMateStorageNewsSnByMateOrderInSnId(Long mateOrderInSnId) {
return wmsOdsMateStorageNewsSnMapper.deleteWmsOdsMateStorageNewsSnByMateOrderInSnId(mateOrderInSnId);
}
@Override
@DS("#header.poolName")
public String cardDy(List<WmsOdsMateStorageNewsSn> list) {
String result="打印完成";
List<WmsOdsMateStorageNewsSn> lists= wmsOdsMateStorageNewsSnMapper.cardDy(list);
for (WmsOdsMateStorageNewsSn wmsOdsMateStorageNewsSn:
lists) {
OdsProcureOrder order=new OdsProcureOrder();
order.setUserDefined1(wmsOdsMateStorageNewsSn.getWlCode());
List<OdsProcureOrder> dtos0= odsProcureOrderMapper.getIdCardListByU1(order);
for (OdsProcureOrder order1:
dtos0 ) {
String materialCode= order1.getMaterialCode();//000000040000004873
materialCode = materialCode.replaceFirst("^0{7}", ""); // 只替换开头的7个0
order1.setMaterialCode(materialCode);
}
dayin(dtos0);
}
return result;
}
public String dayin( List<OdsProcureOrder> orderList) {
// 定义请求的URL地址
String url = dayinUrl1;
// 打印输出url的值
System.out.println(url);
// 创建OkHttpClient实例用于发送HTTP请求
OkHttpClient client = new OkHttpClient();
// 定义请求体的媒体类型为json
MediaType mediaType = MediaType.parse("application/json");
// 创建一个JSONArray用于存储多个订单的信息
JSONArray jsonArray = new JSONArray();
try {
// 创建JSON对象payload并设置请求参数
// 遍历传入的订单列表
for (OdsProcureOrder order : orderList) {
JSONObject payload = new JSONObject();
payload.put("supplier", order.getSupplierName());
payload.put("itemName", order.getMaterialDesc());
payload.put("itemCode", order.getMaterialCode());
payload.put("warehousingDate", order.getUserDefined11());
payload.put("batch", order.getUserDefined7());
payload.put("number", order.getPlanNumber());
payload.put("qrcode", order.getUserDefined1());
// 将当前订单的JSON对象添加到JSONArray中
jsonArray.add(payload);
}
// 创建请求体将JSONArray转换为字符串
RequestBody body = RequestBody.create(mediaType, jsonArray.toString());
// 创建POST请求
Request request = new Request.Builder()
.url(url)
.post(body)
.build();
// 执行请求并获取响应
Response response = client.newCall(request).execute();
// 获取响应数据并转换为JSON对象
String responseData = response.body().string();
JSONObject result = JSONObject.parseObject(responseData);
// 获取返回结果结果JSON对象请求编码、状态码和消息
Map map = new HashMap();
map = result;
String message = (String) map.get("msg");
response.close();
return message;
} catch (IOException e) {
// 捕获IOException并处理异常
e.printStackTrace(); // 在控制台打印异常信息,建议记录到日志文件
return "请求失败,异常信息:" + e.getMessage(); // 返回异常信息
} finally {
// 关闭OkHttpClient
client.dispatcher().executorService().shutdown();
}
}
}

@ -756,5 +756,44 @@
#{item.ID}
</foreach>
</delete>
<select id="getIdCardListByU1" parameterType="OdsProcureOrder" resultMap="OdsProcureOrderResult">
SELECT
Site_code,
ID,
Procure_Code,
Material_Code,
Material_Desc,
Plan_Date,
Plan_Number,
Unit,
COALESCE ( Reality_Number, 0 ) Reality_Number,
card_num cardNum,
User_Defined1,
User_Defined2,
User_Defined3,
User_Defined4,
User_Defined5,
User_Defined6,
User_Defined7,
User_Defined8,
User_Defined9,
User_Defined10,
User_Defined11,
Supplier_Code,
Supplier_Name,
Remark,
Create_By,
Create_Date,
Last_Update_By,
Last_Update_Date,
Active,
Enterprise_Id,
Enterprise_Code,
COALESCE ( Operation_Number, 0 ) Operation_Number
FROM
ods_procure_order_card
where User_Defined1= #{userDefined1}
ORDER BY CAST(card_num AS INT)
</select>
</mapper>

@ -42,38 +42,71 @@
<select id="selectWmsOdsMateStorageNewsSnList" parameterType="WmsOdsMateStorageNewsSn"
resultMap="WmsOdsMateStorageNewsSnResult">
<include refid="selectWmsOdsMateStorageNewsSnVo"/>
SELECT DISTINCT
wms_ods_mate_storage_news_sn.mate_order_in_sn_id,
wms_ods_mate_storage_news_sn.wh_code,
wms_ods_mate_storage_news_sn.wa_code,
wms_ods_mate_storage_news_sn.wl_code,
wms_ods_mate_storage_news_sn.po_line,
wms_ods_mate_storage_news_sn.material_code,
wms_ods_mate_storage_news_sn.material_desc,
wms_ods_mate_storage_news_sn.sn,
wms_ods_mate_storage_news_sn.bar_code,
wms_ods_mate_storage_news_sn.amount,
wms_ods_mate_storage_news_sn.user_defined1,
wms_ods_mate_storage_news_sn.user_defined2,
wms_ods_mate_storage_news_sn.user_defined3,
wms_ods_mate_storage_news_sn.user_defined4,
wms_ods_mate_storage_news_sn.user_defined5,
wms_ods_mate_storage_news_sn.user_defined6,
wms_ods_mate_storage_news_sn.user_defined7,
wms_ods_mate_storage_news_sn.user_defined8,
wms_ods_mate_storage_news_sn.user_defined9,
wms_ods_mate_storage_news_sn.user_defined10,
wms_ods_mate_storage_news_sn.create_by,
wms_ods_mate_storage_news_sn.gmt_create,
wms_ods_mate_storage_news_sn.last_modified_by,
wms_ods_mate_storage_news_sn.gmt_modified,
wms_ods_mate_storage_news_sn.active_flag,
wms_ods_mate_storage_news_sn.factory_code,
wms_ods_mate_storage_news_sn.sap_factory_code ,
ods_procure_order.Procure_Code order_no,
ods_procure_order.User_Defined5 po_no
FROM
wms_ods_mate_storage_news_sn
LEFT JOIN ods_procure_order_card ON ods_procure_order_card.user_defined1= wms_ods_mate_storage_news_sn.wl_code
LEFT JOIN ods_procure_order ON CAST ( ods_procure_order.ID AS NVARCHAR ) = ods_procure_order_card.User_Defined4
<where>
<if test="whCode != null and whCode != ''">and wh_code = #{whCode}</if>
<if test="waCode != null and waCode != ''">and wa_code = #{waCode}</if>
<if test="wlCode != null and wlCode != ''">and wl_code = #{wlCode}</if>
<if test="orderNo != null and orderNo != ''">and order_no = #{orderNo}</if>
<if test="poNo != null and poNo != ''">and po_no = #{poNo}</if>
<if test="poLine != null and poLine != ''">and po_line = #{poLine}</if>
<if test="materialCode != null and materialCode != ''">and material_code like concat('%', #{materialCode},
<if test="whCode != null and whCode != ''">and wms_ods_mate_storage_news_sn.wh_code = #{whCode}</if>
<if test="waCode != null and waCode != ''">and wms_ods_mate_storage_news_sn.wa_code = #{waCode}</if>
<if test="wlCode != null and wlCode != ''">and wms_ods_mate_storage_news_sn.wl_code = #{wlCode}</if>
<if test="orderNo != null and orderNo != ''">and ods_procure_order.Procure_Code = #{orderNo}</if>
<if test="poNo != null and poNo != ''">and ods_procure_order.User_Defined5 = #{poNo}</if>
<if test="poLine != null and poLine != ''">and wms_ods_mate_storage_news_sn.po_line = #{poLine}</if>
<if test="materialCode != null and materialCode != ''">and wms_ods_mate_storage_news_sn.material_code like concat('%', #{materialCode},
'%') </if>
<if test="materialDesc != null and materialDesc != ''">and material_desc = #{materialDesc}</if>
<if test="sn != null and sn != ''">and sn = #{sn}</if>
<if test="barCode != null and barCode != ''">and bar_code = #{barCode}</if>
<if test="amount != null ">and amount = #{amount}</if>
<if test="userDefined1 != null and userDefined1 != ''">and user_defined1 = #{userDefined1}</if>
<if test="userDefined2 != null and userDefined2 != ''">and user_defined2 = #{userDefined2}</if>
<if test="userDefined3 != null and userDefined3 != ''">and user_defined3 = #{userDefined3}</if>
<if test="userDefined4 != null and userDefined4 != ''">and user_defined4 = #{userDefined4}</if>
<if test="userDefined5 != null and userDefined5 != ''">and user_defined5 = #{userDefined5}</if>
<if test="userDefined6 != null and userDefined6 != ''">and user_defined6 = #{userDefined6}</if>
<if test="userDefined7 != null and userDefined7 != ''">and user_defined7 = #{userDefined7}</if>
<if test="userDefined8 != null and userDefined8 != ''">and user_defined8 = #{userDefined8}</if>
<if test="userDefined9 != null and userDefined9 != ''">and user_defined9 = #{userDefined9}</if>
<if test="userDefined10 != null and userDefined10 != ''">and user_defined10 = #{userDefined10}</if>
<if test="gmtCreate != null ">and gmt_create = #{gmtCreate}</if>
<if test="lastModifiedBy != null and lastModifiedBy != ''">and last_modified_by = #{lastModifiedBy}</if>
<if test="gmtModified != null ">and gmt_modified = #{gmtModified}</if>
<if test="activeFlag != null and activeFlag != ''">and active_flag = #{activeFlag}</if>
<if test="factoryCode != null and factoryCode != ''">and factory_code = #{factoryCode}</if>
<if test="sapFactoryCode != null and sapFactoryCode != ''">and sap_factory_code = #{sapFactoryCode}</if>
<if test="materialDesc != null and materialDesc != ''">and wms_ods_mate_storage_news_sn.material_desc = #{materialDesc}</if>
<if test="sn != null and sn != ''">and wms_ods_mate_storage_news_sn.sn = #{sn}</if>
<if test="barCode != null and barCode != ''">and wms_ods_mate_storage_news_sn.bar_code = #{barCode}</if>
<if test="amount != null ">and wms_ods_mate_storage_news_sn.amount = #{amount}</if>
<if test="userDefined1 != null and userDefined1 != ''">and wms_ods_mate_storage_news_sn.user_defined1 = #{userDefined1}</if>
<if test="userDefined2 != null and userDefined2 != ''">and wms_ods_mate_storage_news_sn.user_defined2 = #{userDefined2}</if>
<if test="userDefined3 != null and userDefined3 != ''">and wms_ods_mate_storage_news_sn.user_defined3 = #{userDefined3}</if>
<if test="userDefined4 != null and userDefined4 != ''">and wms_ods_mate_storage_news_sn.user_defined4 = #{userDefined4}</if>
<if test="userDefined5 != null and userDefined5 != ''">and wms_ods_mate_storage_news_sn.user_defined5 = #{userDefined5}</if>
<if test="userDefined6 != null and userDefined6 != ''">and wms_ods_mate_storage_news_sn.user_defined6 = #{userDefined6}</if>
<if test="userDefined7 != null and userDefined7 != ''">and wms_ods_mate_storage_news_sn.user_defined7 = #{userDefined7}</if>
<if test="userDefined8 != null and userDefined8 != ''">and wms_ods_mate_storage_news_sn.user_defined8 = #{userDefined8}</if>
<if test="userDefined9 != null and userDefined9 != ''">and wms_ods_mate_storage_news_sn.user_defined9 = #{userDefined9}</if>
<if test="userDefined10 != null and userDefined10 != ''">and wms_ods_mate_storage_news_sn.user_defined10 = #{userDefined10}</if>
<if test="gmtCreate != null ">and wms_ods_mate_storage_news_sn.gmt_create = #{gmtCreate}</if>
<if test="lastModifiedBy != null and lastModifiedBy != ''">and wms_ods_mate_storage_news_sn.last_modified_by = #{lastModifiedBy}</if>
<if test="gmtModified != null ">and wms_ods_mate_storage_news_sn.gmt_modified = #{gmtModified}</if>
<if test="activeFlag != null and activeFlag != ''">and wms_ods_mate_storage_news_sn.active_flag = #{activeFlag}</if>
<if test="factoryCode != null and factoryCode != ''">and wms_ods_mate_storage_news_sn.factory_code = #{factoryCode}</if>
<if test="sapFactoryCode != null and sapFactoryCode != ''">and wms_ods_mate_storage_news_sn.sap_factory_code = #{sapFactoryCode}</if>
</where>
ORDER BY gmt_create DESC
ORDER BY wms_ods_mate_storage_news_sn.gmt_create DESC
</select>
<select id="selectWmsOdsMateStorageNewsSnByMateOrderInSnId" parameterType="Long"
@ -205,6 +238,14 @@
#{mateOrderInSnId}
</foreach>
</delete>
<select id="cardDy" resultMap="WmsOdsMateStorageNewsSnResult">
<include refid="selectWmsOdsMateStorageNewsSnVo"/>
where mate_order_in_sn_id in
<foreach item="item" collection="list" open="(" separator="," close=")">
#{item.mateOrderInSnId}
</foreach>
</select>
<update id="updateAdd">
update wms_ods_mate_storage_news
set amount = ISNULL(amount, 0) + #{amount},

Loading…
Cancel
Save