fix:eas查视图指定Schema,单据同步删除状态优化

add:打印单据新增仓库字段,定时回传定时器
This commit is contained in:
zhaoyf
2026-07-22 17:17:08 +08:00
parent 8298df2cf6
commit 6d288d417a
10 changed files with 135 additions and 35 deletions

View File

@@ -33,6 +33,7 @@ public class EasToWmsController {
@SaIgnore
public ResponseEntity<Object> billChange(@RequestBody BillChangeDto body) {
JSONObject result = easToWmsService.billChangeHandler(body);
//全部转发中鼎开关
Param forwardAllZD = paramService.findByCode(SysParamConstant.FORWARD_ALL_ZD);
if (ObjectUtil.isNotEmpty(forwardAllZD) && "1".equals(forwardAllZD.getValue())) {
wmsToZDWmdService.syncPurchaseReceiving(body);

View File

@@ -104,8 +104,12 @@ public class InboundEasSyncServiceImpl implements InboundEasSyncService {
easMst.setBill_status(PurchaseBillStatus.COMPLETED.getCode());
}
//转发中鼎
try {
wmsToZDWmdService.syncPurchaseReceiving(billChangeDto);
easMst.setForwardZD(2);
} catch (Exception e) {
easMst.setForwardZD(1);
}
}
purchasedtlMapper.batchSave(easDtlList);
purchasemstMapper.insert(easMst);
@@ -113,10 +117,15 @@ public class InboundEasSyncServiceImpl implements InboundEasSyncService {
break;
case 3:
//删除单据
LambdaQueryWrapper<Purchasemst> eq = new LambdaQueryWrapper<Purchasemst>()
.eq(Purchasemst::getBill_id, billId);
Purchasemst mst = purchasemstMapper.selectOne(eq);
if (mst.getForwardZD() == 2){
wmsToZDWmdService.syncPurchaseReceiving(billChangeDto);
}
purchasedtlMapper.delete(new LambdaQueryWrapper<Purchasedtl>()
.eq(Purchasedtl::getBill_id, billId));
purchasemstMapper.delete(new LambdaQueryWrapper<Purchasemst>()
.eq(Purchasemst::getBill_id, billId));
purchasemstMapper.deleteById(mst.getId());
}
}
@@ -180,8 +189,12 @@ public class InboundEasSyncServiceImpl implements InboundEasSyncService {
easMst.setBill_status(PurchaseBillStatus.COMPLETED.getCode());
}
//转发中鼎
try {
wmsToZDWmdService.syncPurchaseReceiving(billChangeDto);
easMst.setForwardZD(2);
} catch (Exception e) {
easMst.setForwardZD(1);
}
}
purchasedtlMapper.batchSave(easDtlList);
purchasemstMapper.insert(easMst);
@@ -189,10 +202,15 @@ public class InboundEasSyncServiceImpl implements InboundEasSyncService {
break;
case 3:
//删除单据
LambdaQueryWrapper<Purchasemst> eq = new LambdaQueryWrapper<Purchasemst>()
.eq(Purchasemst::getBill_id, billId);
Purchasemst mst = purchasemstMapper.selectOne(eq);
if (mst.getForwardZD() == 2){
wmsToZDWmdService.syncPurchaseReceiving(billChangeDto);
}
purchasedtlMapper.delete(new LambdaQueryWrapper<Purchasedtl>()
.eq(Purchasedtl::getBill_id, billId));
purchasemstMapper.delete(new LambdaQueryWrapper<Purchasemst>()
.eq(Purchasemst::getBill_id, billId));
purchasemstMapper.deleteById(mst.getId());
}
}
@@ -256,8 +274,12 @@ public class InboundEasSyncServiceImpl implements InboundEasSyncService {
easMst.setBill_status(PurchaseBillStatus.COMPLETED.getCode());
}
//转发中鼎
try {
wmsToZDWmdService.syncPurchaseReceiving(billChangeDto);
easMst.setForwardZD(2);
} catch (Exception e) {
easMst.setForwardZD(1);
}
}
purchasedtlMapper.batchSave(easDtlList);
purchasemstMapper.insert(easMst);
@@ -265,10 +287,15 @@ public class InboundEasSyncServiceImpl implements InboundEasSyncService {
break;
case 3:
//删除单据
LambdaQueryWrapper<Purchasemst> eq = new LambdaQueryWrapper<Purchasemst>()
.eq(Purchasemst::getBill_id, billId);
Purchasemst mst = purchasemstMapper.selectOne(eq);
if (mst.getForwardZD() == 2){
wmsToZDWmdService.syncPurchaseReceiving(billChangeDto);
}
purchasedtlMapper.delete(new LambdaQueryWrapper<Purchasedtl>()
.eq(Purchasedtl::getBill_id, billId));
purchasemstMapper.delete(new LambdaQueryWrapper<Purchasemst>()
.eq(Purchasemst::getBill_id, billId));
purchasemstMapper.deleteById(mst.getId());
}
}
@@ -332,8 +359,12 @@ public class InboundEasSyncServiceImpl implements InboundEasSyncService {
easMst.setBill_status(PurchaseBillStatus.COMPLETED.getCode());
}
//转发中鼎
try {
wmsToZDWmdService.syncPurchaseReceiving(billChangeDto);
easMst.setForwardZD(2);
} catch (Exception e) {
easMst.setForwardZD(1);
}
}
purchasedtlMapper.batchSave(easDtlList);
purchasemstMapper.insert(easMst);
@@ -341,10 +372,15 @@ public class InboundEasSyncServiceImpl implements InboundEasSyncService {
break;
case 3:
//删除单据
LambdaQueryWrapper<Purchasemst> eq = new LambdaQueryWrapper<Purchasemst>()
.eq(Purchasemst::getBill_id, billId);
Purchasemst mst = purchasemstMapper.selectOne(eq);
if (mst.getForwardZD() == 2){
wmsToZDWmdService.syncPurchaseReceiving(billChangeDto);
}
purchasedtlMapper.delete(new LambdaQueryWrapper<Purchasedtl>()
.eq(Purchasedtl::getBill_id, billId));
purchasemstMapper.delete(new LambdaQueryWrapper<Purchasemst>()
.eq(Purchasemst::getBill_id, billId));
purchasemstMapper.deleteById(mst.getId());
}
}
@@ -408,8 +444,12 @@ public class InboundEasSyncServiceImpl implements InboundEasSyncService {
easMst.setBill_status(PurchaseBillStatus.COMPLETED.getCode());
}
//转发中鼎
try {
wmsToZDWmdService.syncPurchaseReceiving(billChangeDto);
easMst.setForwardZD(2);
} catch (Exception e) {
easMst.setForwardZD(1);
}
}
purchasedtlMapper.batchSave(easDtlList);
purchasemstMapper.insert(easMst);
@@ -417,10 +457,15 @@ public class InboundEasSyncServiceImpl implements InboundEasSyncService {
break;
case 3:
//删除单据
LambdaQueryWrapper<Purchasemst> eq = new LambdaQueryWrapper<Purchasemst>()
.eq(Purchasemst::getBill_id, billId);
Purchasemst mst = purchasemstMapper.selectOne(eq);
if (mst.getForwardZD() == 2){
wmsToZDWmdService.syncPurchaseReceiving(billChangeDto);
}
purchasedtlMapper.delete(new LambdaQueryWrapper<Purchasedtl>()
.eq(Purchasedtl::getBill_id, billId));
purchasemstMapper.delete(new LambdaQueryWrapper<Purchasemst>()
.eq(Purchasemst::getBill_id, billId));
purchasemstMapper.deleteById(mst.getId());
}
}
}

View File

@@ -36,7 +36,7 @@
unitCode,
unit,
trackNo
FROM v_uc_cgrk06
FROM EAS_NOBLE.V_UC_CGRK06
WHERE billid = #{bill_id}
</select>
<select id="selectTransferByBillId" resultType="org.nl.wms.pm_manage.purchase.service.dao.Purchasedtl" resultMap="BaseResultMap">
@@ -55,7 +55,7 @@
unitCode,
unit,
trackNo
FROM V_UC_DBRK02
FROM EAS_NOBLE.V_UC_DBRK02
WHERE billid = #{bill_id}
</select>
<select id="selectOtherByBillId" resultType="org.nl.wms.pm_manage.purchase.service.dao.Purchasedtl" resultMap="BaseResultMap">
@@ -74,7 +74,7 @@
unitCode,
unit,
trackNo
FROM V_UC_QTRK04
FROM EAS_NOBLE.V_UC_QTRK04
WHERE billid = #{bill_id}
</select>
<select id="selectOtherOutByBillId" resultType="org.nl.wms.pm_manage.purchase.service.dao.Purchasedtl" resultMap="BaseResultMap">
@@ -93,7 +93,7 @@
unitCode,
unit,
trackNo
FROM V_UC_QTCK03
FROM EAS_NOBLE.V_UC_QTCK03
WHERE billid = #{bill_id}
</select>
<select id="selectTransferOutByBillId" resultType="org.nl.wms.pm_manage.purchase.service.dao.Purchasedtl" resultMap="BaseResultMap">
@@ -112,7 +112,7 @@
unitCode,
unit,
trackNo
FROM V_UC_DBCK01
FROM EAS_NOBLE.V_UC_DBCK01
WHERE billid = #{bill_id}
</select>

View File

@@ -28,7 +28,7 @@
modifyDate,
status,
red
FROM v_uc_cgrk06
FROM EAS_NOBLE.V_UC_CGRK06
WHERE billid = #{bill_id}
</select>
<select id="selectByOrderNo"
@@ -44,7 +44,7 @@
skuCode,
skuName,
qty
FROM v_uc_cgrk06
FROM EAS_NOBLE.V_UC_CGRK06
WHERE orderNo = #{orderNo}
</select>
<select id="selectTransferByBillId" resultType="org.nl.wms.pm_manage.purchase.service.dao.Purchasemst" resultMap="BaseResultMap">
@@ -56,7 +56,7 @@
modifyDate,
status,
billid
FROM V_UC_DBRK02
FROM EAS_NOBLE.V_UC_DBRK02
WHERE billid = #{bill_id}
</select>
<select id="selectOtherByBillId" resultType="org.nl.wms.pm_manage.purchase.service.dao.Purchasemst" resultMap="BaseResultMap">
@@ -68,7 +68,7 @@
modifyDate,
status,
billid
FROM V_UC_QTRK04
FROM EAS_NOBLE.V_UC_QTRK04
WHERE billid = #{bill_id}
</select>
<select id="selectOtherOutByBillId" resultType="org.nl.wms.pm_manage.purchase.service.dao.Purchasemst" resultMap="BaseResultMap">
@@ -80,7 +80,7 @@
modifyDate,
status,
billid
FROM V_UC_QTCK03
FROM EAS_NOBLE.V_UC_QTCK03
WHERE billid = #{bill_id}
</select>
<select id="selectTransferOutByBillId" resultType="org.nl.wms.pm_manage.purchase.service.dao.Purchasemst" resultMap="BaseResultMap">
@@ -92,7 +92,7 @@
modifyDate,
status,
billid
FROM V_UC_DBCK01
FROM EAS_NOBLE.V_UC_DBCK01
WHERE billid = #{bill_id}
</select>

View File

@@ -18,6 +18,6 @@ public class ErpSyncService {
@Transactional(propagation = Propagation.REQUIRES_NEW)
public List<ErpMaterial> list(){
return erpSyncMapper.selectList(null);
return erpSyncMapper.queryList();
}
}

View File

@@ -2,8 +2,13 @@ package org.nl.wms.ext_manage.service.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.nl.wms.ext_manage.service.dto.ErpMaterial;
import java.util.List;
@Mapper
public interface ErpSyncMapper extends BaseMapper<ErpMaterial> {
@Select("SELECT categoryCode,categoryName,skuCode,skuName,model,unitCode,unit,needPick,status FROM EAS_NOBLE.V_UC_Item50 ")
List<ErpMaterial> queryList();
}

View File

@@ -0,0 +1,43 @@
package org.nl.wms.sch_manage.service.core;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.nl.wms.warehouse_manage.stockReturn.service.IPmStockReturnService;
import org.nl.wms.warehouse_manage.stockReturn.service.dao.PmStockReturn;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
/**
* 回传单定时回传 间隔5s一条避免eas系统卡崩
*/
@Slf4j
@Component
@RequiredArgsConstructor
public class FormReturnAutoTask {
@Autowired
private IPmStockReturnService pmStockReturnService;
@SneakyThrows
public void run() {
log.info("========>定时回传任务");
List<PmStockReturn> list = pmStockReturnService.list(new LambdaQueryWrapper<PmStockReturn>()
.eq(PmStockReturn::getStatus, 0)
.or()
.eq(PmStockReturn::getStatus, 2));
log.info("========>定时回传列表:{}", JSON.toJSONString(list));
List<PmStockReturn> rows = new ArrayList<>();
for (PmStockReturn item : list) {
rows.add(item);
pmStockReturnService.uploadRows(rows);
Thread.sleep(1000 * 5);
rows.remove(item);
}
}
}

View File

@@ -336,6 +336,7 @@ export default {
const orderNo = dtl.order_no || ''
const itemNo = dtl.item_no || ''
const skuCode = dtl.sku_code || ''
const house_code = dtl.house_code || ''
const skuName = dtl.sku_name || ''
const qty = dtl.qty || ''
const qrText = orderNo + '#' + itemNo + '#' + skuCode + '#' + skuName + '##' + qty + '#'
@@ -345,11 +346,12 @@ export default {
html += '<div class="label">'
html += '<h3>上海诺力</h3>'
html += '<table>'
html += '<tr><td class="lbl">单据号</td><td class="val">' + orderNo + '</td><td class="qr" rowspan="5"><img src="' + imgSrc + '" width="150" height="150" /></td></tr>'
html += '<tr><td class="lbl">单据号</td><td class="val">' + orderNo + '</td><td class="qr" rowspan="6"><img src="' + imgSrc + '" width="150" height="150" /></td></tr>'
html += '<tr><td class="lbl">行号</td><td class="val">' + itemNo + '</td></tr>'
html += '<tr><td class="lbl">物料编码</td><td class="val">' + skuCode + '</td></tr>'
html += '<tr><td class="lbl">物料名称</td><td class="val">' + skuName + '</td></tr>'
html += '<tr><td class="lbl">数量</td><td class="val">' + qty + '</td></tr>'
html += '<tr><td class="lbl">仓库</td><td class="val">' + house_code + '</td></tr>'
html += '</table></div>'
}
html += '</body></html>'

View File

@@ -284,6 +284,7 @@ export default {
const orderNo = dtl.order_no || ''
const itemNo = dtl.item_no || ''
const skuCode = dtl.sku_code || ''
const house_code = dtl.house_code || ''
const skuName = dtl.sku_name || ''
const qty = dtl.qty || ''
const qrText = orderNo + '#' + itemNo + '#' + skuCode + '#' + skuName + '##' + qty + '#'
@@ -293,11 +294,12 @@ export default {
html += '<div class="label">'
html += '<h3>上海诺力</h3>'
html += '<table>'
html += '<tr><td class="lbl">单据号</td><td class="val">' + orderNo + '</td><td class="qr" rowspan="5"><img src="' + imgSrc + '" width="150" height="150" /></td></tr>'
html += '<tr><td class="lbl">单据号</td><td class="val">' + orderNo + '</td><td class="qr" rowspan="6"><img src="' + imgSrc + '" width="150" height="150" /></td></tr>'
html += '<tr><td class="lbl">行号</td><td class="val">' + itemNo + '</td></tr>'
html += '<tr><td class="lbl">物料编码</td><td class="val">' + skuCode + '</td></tr>'
html += '<tr><td class="lbl">物料名称</td><td class="val">' + skuName + '</td></tr>'
html += '<tr><td class="lbl">数量</td><td class="val">' + qty + '</td></tr>'
html += '<tr><td class="lbl">仓库</td><td class="val">' + house_code + '</td></tr>'
html += '</table></div>'
}
html += '</body></html>'

View File

@@ -353,6 +353,7 @@ export default {
const itemNo = dtl.item_no || ''
const skuCode = dtl.sku_code || ''
const skuName = dtl.sku_name || ''
const house_code = dtl.house_code || ''
const qty = dtl.qty || ''
const qrText = orderNo + '#' + itemNo + '#' + skuCode + '#' + skuName + '##' + qty + '#'
const imgSrc = await QRCode.toDataURL(qrText, {
@@ -361,11 +362,12 @@ export default {
html += '<div class="label">'
html += '<h3>上海诺力</h3>'
html += '<table>'
html += '<tr><td class="lbl">单据号</td><td class="val">' + orderNo + '</td><td class="qr" rowspan="5"><img src="' + imgSrc + '" width="150" height="150" /></td></tr>'
html += '<tr><td class="lbl">单据号</td><td class="val">' + orderNo + '</td><td class="qr" rowspan="6"><img src="' + imgSrc + '" width="150" height="150" /></td></tr>'
html += '<tr><td class="lbl">行号</td><td class="val">' + itemNo + '</td></tr>'
html += '<tr><td class="lbl">物料编码</td><td class="val">' + skuCode + '</td></tr>'
html += '<tr><td class="lbl">物料名称</td><td class="val">' + skuName + '</td></tr>'
html += '<tr><td class="lbl">数量</td><td class="val">' + qty + '</td></tr>'
html += '<tr><td class="lbl">仓库</td><td class="val">' + house_code + '</td></tr>'
html += '</table></div>'
}
html += '</body></html>'