|
|
|
@ -13,6 +13,7 @@ import com.gaotao.modules.trans.entity.*; |
|
|
|
import com.gaotao.modules.trans.service.*; |
|
|
|
import com.gaotao.modules.trans.service.TransNoControlService; |
|
|
|
import com.gaotao.modules.erp.service.ErpInterfaceService; |
|
|
|
import com.gaotao.modules.wms.dao.WmsPrintDao; |
|
|
|
import org.apache.shiro.SecurityUtils; |
|
|
|
import org.slf4j.Logger; |
|
|
|
import org.slf4j.LoggerFactory; |
|
|
|
@ -65,6 +66,9 @@ public class OtherInboundServiceImpl implements OtherInboundService { |
|
|
|
@Autowired |
|
|
|
private ErpInterfaceService erpInterfaceService; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private WmsPrintDao wmsPrintDao; |
|
|
|
|
|
|
|
@Override |
|
|
|
public void validateLabelWithOtherInbound(String site, String buNo, String inboundNo, String materialCode, |
|
|
|
Double actualQty, String batchNo, String warehouseId, |
|
|
|
@ -140,12 +144,17 @@ public class OtherInboundServiceImpl implements OtherInboundService { |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public boolean confirmOtherInboundByProcedure(String site, String buNo, String inboundNo, |
|
|
|
public Map<String, Object> confirmOtherInboundByProcedure(String site, String buNo, String inboundNo, |
|
|
|
String locationCode, String documentType, String userName) { |
|
|
|
logger.info("调用GetSaveLabelVerification存储过程确认入库,站点: {}, 入库单: {}, 库位: {}, 单据类型: {}, 用户: {}", |
|
|
|
site, inboundNo, locationCode, documentType, userName); |
|
|
|
|
|
|
|
Map<String, Object> returnResult = new HashMap<>(); |
|
|
|
|
|
|
|
try { |
|
|
|
// 先获取已扫描标签列表(用于打印) |
|
|
|
List<Map<String, Object>> scannedLabels = getScannedLabelList(site, buNo, inboundNo, documentType); |
|
|
|
|
|
|
|
// 调用存储过程 GetSaveLabelVerification(参考采购入库功能) |
|
|
|
// 10个参数 |
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
@ -177,7 +186,44 @@ public class OtherInboundServiceImpl implements OtherInboundService { |
|
|
|
} |
|
|
|
|
|
|
|
logger.info("GetSaveLabelVerification存储过程调用成功,入库单: {}", inboundNo); |
|
|
|
return true; |
|
|
|
|
|
|
|
// 获取打印参数 |
|
|
|
List<Map<String, Object>> printList = new ArrayList<>(); |
|
|
|
if (scannedLabels != null && !scannedLabels.isEmpty()) { |
|
|
|
for (Map<String, Object> label : scannedLabels) { |
|
|
|
try { |
|
|
|
String rollNo = (String) label.get("labelCode"); |
|
|
|
String materialCode = (String) label.get("materialCode"); |
|
|
|
|
|
|
|
// 调用存储过程UspPartLabelTemplate获取打印参数 |
|
|
|
Map<String, Object> printData = wmsPrintDao.callUspPartLabelTemplate( |
|
|
|
site, // site |
|
|
|
buNo, // buNo |
|
|
|
"*", // menuID - PDA功能传 "*" |
|
|
|
"", // relatedOrderNo - 关联单号 |
|
|
|
"", // relatedOrderLineNo - 关联单号行号,传空字符串 |
|
|
|
inboundNo, // documentNo - 入库单号 |
|
|
|
materialCode, // PartNo - 物料编码 |
|
|
|
"", // LabelNo - 标签模版编码,传空字符串(由存储过程返回) |
|
|
|
rollNo // RollNo - 标签条码 |
|
|
|
); |
|
|
|
|
|
|
|
if (printData != null) { |
|
|
|
printList.add(printData); |
|
|
|
logger.info("获取标签 {} 的打印参数成功", rollNo); |
|
|
|
} else { |
|
|
|
logger.warn("获取标签 {} 的打印参数失败,跳过", rollNo); |
|
|
|
} |
|
|
|
} catch (Exception e) { |
|
|
|
logger.warn("获取标签打印参数失败: {}", e.getMessage()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
returnResult.put("success", true); |
|
|
|
returnResult.put("printList", printList); |
|
|
|
|
|
|
|
return returnResult; |
|
|
|
} catch (Exception e) { |
|
|
|
logger.error("调用GetSaveLabelVerification存储过程失败,入库单: {}", inboundNo, e); |
|
|
|
throw new RuntimeException(e.getMessage(), e); |
|
|
|
|