Merge branch 'main' of http://162.14.99.253:3000/10539622/2025-03-JS-SDK-svr
This commit is contained in:
commit
388021590f
@ -22,7 +22,7 @@ db.Prd.url=jdbc:oracle:thin:@192.168.1.73:1526/test
|
||||
db.Prd.username=ziwms_sap_test
|
||||
db.Prd.password=adm2024
|
||||
#MQ
|
||||
mq.url=192.168.1.73:5672
|
||||
mq.username=zimes
|
||||
mq.password=adm2024
|
||||
mq.virtual-host=/zimes
|
||||
#mq.url=192.168.1.73:5672
|
||||
#mq.username=zimes
|
||||
#mq.password=adm2024
|
||||
#mq.virtual-host=/zimes
|
@ -5947,9 +5947,9 @@ public class ToSAPServiceImpl {
|
||||
.append(" m.MESSAGEID ,").append(SystemPropHelper.CR)
|
||||
.append(" m.SALESHIPREQUESTNAME ,").append(SystemPropHelper.CR)
|
||||
.append(" m.SALESHIPREQUESTDETAILNAME ,").append(SystemPropHelper.CR)
|
||||
.append(" sum(m.MATERIALQUANTITY) MATERIALQUANTITY").append(SystemPropHelper.CR)
|
||||
.append(" sum(m.MATERIALQUANTITY) MATERIALQUANTITY,").append(SystemPropHelper.CR)
|
||||
.append(" m.OLDSALESHIPREQUESTNAME ,").append(SystemPropHelper.CR)
|
||||
.append(" m.OLDSALESHIPREQUESTDETAILNAME ,").append(SystemPropHelper.CR)
|
||||
.append(" m.OLDSALESHIPREQUESTDETAILNAME").append(SystemPropHelper.CR)
|
||||
.append(" FROM MATERIALPACKING m ").append(SystemPropHelper.CR)
|
||||
// .append(" WHERE m.RECEIVEACTNO = :RECEIVEACTNO AND m.SITENAME = :SITENAME ").append(SystemPropHelper.CR)
|
||||
.append(" WHERE m.MATERIALPACKINGNAME IN (:BOXLIST) AND m.SITENAME = :SITENAME").append(SystemPropHelper.CR)
|
||||
|
@ -94,12 +94,12 @@ public class StorageController {
|
||||
public AjaxResult getLocationName2(@RequestBody JSONObject in ) throws Exception {
|
||||
|
||||
StorageSpec storageSpec = JSON.toJavaObject(in, StorageSpec.class);
|
||||
//String erplocation = storageSpec.getErpLocation();
|
||||
String erpLocation = storageSpec.getErpLocation();
|
||||
String erplocation = storageSpec.getErpLocation();
|
||||
//String erpLocation = storageSpec.getErpLocation();
|
||||
String areaName = "";
|
||||
// String commitDate = storageSpec.getCommitDate();
|
||||
//判断条码是否存在且状态是在库
|
||||
//String sql = "SELECT m.STORAGENAME ,m.DESCRIPTION || m.STORAGENAME DESCRIPTION FROM STORAGESPEC m WHERE m.ERPLOCATION = :ERPLOCATION ORDER BY STORAGENAME ";
|
||||
String sql = "SELECT m.STORAGENAME ,m.DESCRIPTION || m.STORAGENAME DESCRIPTION FROM STORAGESPEC m WHERE m.ERPLOCATION = :ERPLOCATION ORDER BY STORAGENAME ";
|
||||
/*String sql = " SELECT\n" +
|
||||
"\tm.STORAGENAME,\n" +
|
||||
"\tm.STORAGENAME || ' ' || m.DESCRIPTION DESCRIPTION \n" +
|
||||
@ -110,6 +110,7 @@ public class StorageController {
|
||||
"\tAND m.AREANAME =:AREANAME\n" +
|
||||
"ORDER BY\n" +
|
||||
"\tSTORAGENAME ";*/
|
||||
/*
|
||||
String sql = " SELECT * FROM ( " +
|
||||
" SELECT\n" +
|
||||
"\tm.STORAGENAME,\n" +
|
||||
@ -122,6 +123,8 @@ public class StorageController {
|
||||
"ORDER BY\n" +
|
||||
"\tSTORAGENAME" +
|
||||
" ) WHERE ROWNUM <= 50 ";
|
||||
*/
|
||||
/*
|
||||
switch (erpLocation) {
|
||||
case "1010":
|
||||
case "1020":
|
||||
@ -142,9 +145,13 @@ public class StorageController {
|
||||
default :
|
||||
break;
|
||||
}
|
||||
*/
|
||||
Map<String, Object> bindMap = new HashMap<String, Object>();
|
||||
bindMap.put("ERPLOCATION",erplocation);
|
||||
/*
|
||||
bindMap.put("SITENAME","SDK");
|
||||
bindMap.put("AREANAME",areaName);
|
||||
*/
|
||||
List<Map<String,Object>> list = IDMFrameServiceProxy.getSqlTemplate().queryForList(sql, bindMap);
|
||||
|
||||
if(Objects.isNull(list) || list.isEmpty()) {
|
||||
|
@ -1831,7 +1831,7 @@ public class BSLabelServiceImpl extends CommonServiceDAO<BSLabelKey, BSLabel> im
|
||||
String printer = printName == null || "".equals(printName) ? getDefaultPrinter() : printName;// "\\\\ZXYNB10810864P.boe.com.cn\\TSC MA3400P";
|
||||
String server = "LabelRequestURL";
|
||||
String requestUrl = getRequestUrlByServer(server);
|
||||
requestUrl = "0980b551-20a2-49ba-a1e8-950331ff9827";
|
||||
// requestUrl = "0980b551-20a2-49ba-a1e8-950331ff9827";
|
||||
List<String> params = getLabelAssignParameter("testLabel002");
|
||||
String labelUrl = "";
|
||||
String labelPath = getLabelAbsolutePath(labelAddress);
|
||||
@ -1918,7 +1918,8 @@ public class BSLabelServiceImpl extends CommonServiceDAO<BSLabelKey, BSLabel> im
|
||||
labelPrintPET.setStartTime("");
|
||||
labelPrintPET.setEndTime("");
|
||||
log.info("***************************PrintLabel Assign params is : " + params.toString());
|
||||
labelUrl = labelPrintRabbitMQ(labelPrintPET, requestUrl, pr, params);
|
||||
//labelUrl = labelPrintRabbitMQ(labelPrintPET, requestUrl, pr, params);
|
||||
labelUrl = labelPrint(labelPrintPET, requestUrl, pr, params);
|
||||
log.info("***************************PrintLabel Use URL is : " + requestUrl);
|
||||
}else {
|
||||
throw new CustomException(CustomExceptionCode.DATA_NOT_FOUND,"Undefined Execute Type : ");
|
||||
@ -1994,7 +1995,8 @@ public class BSLabelServiceImpl extends CommonServiceDAO<BSLabelKey, BSLabel> im
|
||||
obj.setSupplierno(queryForListProduct.get(0).get("supplierNo") != null ? queryForListProduct.get(0).get("supplierNo").toString() : "");
|
||||
obj.setDescription(queryForListProduct.get(0).get("description") != null ? queryForListProduct.get(0).get("description").toString() : "");
|
||||
log.info("***************************PrintLabel Assign params is : " + params.toString());
|
||||
labelUrl = labelPrintRabbitMQ(obj, requestUrl, pr, params);
|
||||
//labelUrl = labelPrintRabbitMQ(obj, requestUrl, pr, params);
|
||||
labelUrl = labelPrint(obj, requestUrl, pr, params);
|
||||
log.info("***************************PrintLabel Use URL is : " + requestUrl);
|
||||
}else if ("胶水原材.btw".equals(labelAddress)){
|
||||
qeuryLabelDatasql = "SELECT\r\n" +
|
||||
@ -2066,7 +2068,8 @@ public class BSLabelServiceImpl extends CommonServiceDAO<BSLabelKey, BSLabel> im
|
||||
obj.setSupplierno(queryForListProduct.get(0).get("supplierNo") != null ? queryForListProduct.get(0).get("supplierNo").toString() : "");
|
||||
obj.setDescription(queryForListProduct.get(0).get("description") != null ? queryForListProduct.get(0).get("description").toString() : "");
|
||||
log.info("***************************PrintLabel Assign params is : " + params.toString());
|
||||
labelUrl = labelPrintRabbitMQ(obj, requestUrl, pr, params);
|
||||
//labelUrl = labelPrintRabbitMQ(obj, requestUrl, pr, params);
|
||||
labelUrl = labelPrint(obj, requestUrl, pr, params);
|
||||
log.info("***************************PrintLabel Use URL is : " + requestUrl);
|
||||
}else {
|
||||
throw new CustomException(CustomExceptionCode.DATA_NOT_FOUND, "未找到对应的标签模板");
|
||||
|
@ -53,6 +53,8 @@ public class MESToWMSServiceImpl implements MESToWMSService {
|
||||
|
||||
@Autowired
|
||||
private MesToWmsDao mesToWmsDao;
|
||||
@Autowired
|
||||
private InvoiceServiceImpl invoiceService;
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
@ -666,7 +668,7 @@ public class MESToWMSServiceImpl implements MESToWMSService {
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public AjaxResult workOrder_Request(JSONArray in) {
|
||||
public AjaxResult workOrder_Request(JSONArray in) throws Exception {
|
||||
//转工单,按照批次先传MDC消耗请求SAP出库,再生成入库信息传SAP入库
|
||||
log.info("Received work order request: {}", in.toJSONString());
|
||||
//转换前工单formOrder,转换后工单toOrder,料号 materialSpecname,批次 charge
|
||||
@ -707,7 +709,7 @@ public class MESToWMSServiceImpl implements MESToWMSService {
|
||||
* 出库方法
|
||||
*/
|
||||
@Transactional
|
||||
public String materialOutByMES(List<String> materialSpecnameList, List<String> chargeList) {
|
||||
public String materialOutByMES(List<String> materialSpecnameList, List<String> chargeList) throws Exception {
|
||||
String result = "";
|
||||
//调用Mybatis方法查询当前可出库存
|
||||
List<changeOrderDto> materialPackingList = mesToWmsDao.getMaterialPackingList(materialSpecnameList, chargeList);
|
||||
@ -716,6 +718,15 @@ public class MESToWMSServiceImpl implements MESToWMSService {
|
||||
materialPackingList,
|
||||
"MES"
|
||||
);
|
||||
if (undoid != null) {
|
||||
// 冲销
|
||||
String undo = invoiceService.cancelShipInter(undoid, "MES");
|
||||
if (undo == null || undo.isEmpty()) {
|
||||
throw new GlobalException("下发mes失败后冲销失败!");
|
||||
} else {
|
||||
throw new GlobalException("发送到mes失败!");
|
||||
}
|
||||
}
|
||||
//更新MDC表状态
|
||||
mesToWmsDao.updateMDCFlag(materialSpecnameList, chargeList, "T");
|
||||
return undoid;
|
||||
|
@ -91,7 +91,7 @@ public class NoInvoiceManagerServiceImpl {
|
||||
commitDate,opCode,costName,lifnr);
|
||||
SDKMaterialPackingServiceImpl.updateUndoIdInByList(list, undoid, makeEventInfo,opCode);
|
||||
//更新库存状态
|
||||
commonUtils.SaveUnDoInfo_ForSap(strings,undoid,makeEventInfo);
|
||||
commonUtils.SaveUnDoInfo_ForSap_qtr(strings,undoid,makeEventInfo);
|
||||
}
|
||||
|
||||
|
||||
|
@ -40,7 +40,7 @@ public interface MESToWMSService {
|
||||
* @param in
|
||||
* @return
|
||||
*/
|
||||
AjaxResult workOrder_Request(JSONArray in);
|
||||
AjaxResult workOrder_Request(JSONArray in) throws Exception;
|
||||
|
||||
@Transactional
|
||||
AjaxResult materialConsumeRequestSapcprkUndo(String undoId, String user, String payMentDate) throws Exception;
|
||||
|
@ -685,6 +685,97 @@ public void SaveUnDoInfo_ForSap(List<String> list, String undoid, EventInfo mak
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* 保存undo信息
|
||||
* 该方法用于更新和插入与物料包装相关的undo信息,根据提供的参数执行不同的数据库操作
|
||||
*
|
||||
* @param list 包含物料包装名称的列表
|
||||
* @param undoid undo的标识符,用于区分不同的undo操作
|
||||
* @param makeEventInfo 包含事件信息的对象,用于更新物料包装的最后事件信息
|
||||
*/
|
||||
public void SaveUnDoInfo_ForSap_qtr(List<String> list, String undoid, EventInfo makeEventInfo) {
|
||||
|
||||
// 更新事件名
|
||||
// 此SQL语句用于更新物料包装的最后事件名称、评论和时间
|
||||
String sqlu="UPDATE MATERIALPACKING m SET m.LASTEVENTNAME=:LASTEVENTNAME,m.LASTEVENTCOMMENT =:LASTEVENTCOMMENT,m.LASTEVENTTIME =SYSDATE \r\n" +
|
||||
" WHERE m.SITENAME =:SITENAME AND m.MATERIALPACKINGNAME in (:BOXLIST)";
|
||||
Map<String,Object> bpu = new HashMap<String,Object> ();
|
||||
bpu.put("LASTEVENTNAME", makeEventInfo.getEventName());
|
||||
bpu.put("LASTEVENTCOMMENT", makeEventInfo.getEventComment());
|
||||
bpu.put("SITENAME", "SDK");
|
||||
bpu.put("BOXLIST", list);
|
||||
IDMFrameServiceProxy.getSqlTemplate().update(sqlu, bpu);
|
||||
|
||||
// 销售交货单不返回凭证
|
||||
// 如果undoid不等于"S",则执行更新和插入操作,以记录undo信息
|
||||
if(!StringUtils.equals("S", undoid))
|
||||
{
|
||||
// 更新undo信息
|
||||
// 此SQL语句用于更新物料包装的undoid,仅当库存状态为'Stocked'时
|
||||
String updateUndoInfo = "UPDATE MATERIALPACKING T SET T.unDoID = :unDoID WHERE T.MATERIALPACKINGNAME in (:MATERIALPACKINGNAME) "
|
||||
+ " AND STOCKSTATE = 'Stocked'";
|
||||
|
||||
Map<String,Object> map = new HashMap<String,Object> ();
|
||||
map.put("MATERIALPACKINGNAME", list);
|
||||
map.put("unDoID", undoid);
|
||||
IDMFrameServiceProxy.getSqlTemplate().update(updateUndoInfo, map);
|
||||
|
||||
|
||||
// 插入undo物料包装信息
|
||||
// 此SQL语句用于插入新的记录到BS_MATERIALPACKINGUNDOINFO表中,记录详细的undo信息
|
||||
String insertUnDOMaterialPackingInfo = "insert into BS_MATERIALPACKINGUNDOINFO (unDoID,preundoid,UNDODETAILNAME,undoidstate,UNDOIDDATE,PREERPLOCATION,PRELOCATIONNAME,"
|
||||
+ "SITENAME, MATERIALPACKINGNAME, MATERIALPACKINGTYPE, CONTENTMATERIALTYPE,"
|
||||
+ "MATERIALTYPE, MATERIALSPECNAME, SUPERMATERIALPACKINGNAME, PACKINGGRADE, SUBPACKINGQUANTITY, MATERIALCREATEQUANTITY,"
|
||||
+ "MATERIALQUANTITY, PACKINGSTATE, OLDPACKINGSTATE, STOCKSTATE, OLDSTOCKSTATE, HOLDSTATE, AREANAME, LOCATIONNAME,"
|
||||
+ "DURABLENAME, MATERIALPROCESSGROUPNAME, LASTEVENTNAME, LASTEVENTTIMEKEY, LASTEVENTTIME, LASTEVENTUSER,"
|
||||
+ "LASTEVENTCOMMENT, CREATETIME, CREATEUSER, RECEIVEREQUESTNAME, RECEIVEREQUESTDETAILNAME,"
|
||||
+ "MAKEDATE, RECEIVEACTNO, STOCKINTYPE, RECEIVETIME, RECEIVEUSER, SHIPREQUESTNAME, SHIPREQUESTDETAILNAME, SHIPTIME,"
|
||||
+ "SHIPUSER, REASONCODETYPE, OQARESULTSTATE, OQARESULT, ERPLOCATION, ERPFACTORY, REASONCODE, CHARGE, SUPPLIERNAME,ETCSTATE,ERPEVENTTIME,NPFLAG)"
|
||||
+ "select unDoID,'' as preundoid,UNDODETAILNAME,'Created' as undoidstate,:UNDOIDDATE AS UNDOIDDATE, PREERPLOCATION,PRELOCATIONNAME,"
|
||||
+ "SITENAME, MATERIALPACKINGNAME, MATERIALPACKINGTYPE, CONTENTMATERIALTYPE,"
|
||||
+ "MATERIALTYPE, MATERIALSPECNAME, SUPERMATERIALPACKINGNAME, PACKINGGRADE, SUBPACKINGQUANTITY, MATERIALCREATEQUANTITY,"
|
||||
+ "DECODE(MATERIALQUANTITY2,0,MATERIALQUANTITY,MATERIALQUANTITY2) MATERIALQUANTITY, PACKINGSTATE, OLDPACKINGSTATE, STOCKSTATE, OLDSTOCKSTATE, HOLDSTATE, AREANAME, LOCATIONNAME,"
|
||||
+ "DURABLENAME, MATERIALPROCESSGROUPNAME, LASTEVENTNAME, LASTEVENTTIMEKEY, LASTEVENTTIME, LASTEVENTUSER,"
|
||||
+ "LASTEVENTCOMMENT, CREATETIME, CREATEUSER, RECEIVEREQUESTNAME, RECEIVEREQUESTDETAILNAME,"
|
||||
+ "MAKEDATE, RECEIVEACTNO, STOCKINTYPE, RECEIVETIME, RECEIVEUSER, SHIPREQUESTNAME, SHIPREQUESTDETAILNAME, SHIPTIME,"
|
||||
+ "SHIPUSER, REASONCODETYPE, OQARESULTSTATE, OQARESULT, ERPLOCATION, ERPFACTORY, REASONCODE, CHARGE, SUPPLIERNAME,ETCSTATE,ERPEVENTTIME,NPFLAG"
|
||||
+ " from MATERIALPACKING "
|
||||
+ " where unDoID=:UNDOID";
|
||||
|
||||
Map<String, Object> bindMap_insert = new HashMap<String, Object>();
|
||||
bindMap_insert.put("UNDOIDDATE", "");
|
||||
bindMap_insert.put("UNDOID", undoid);
|
||||
IDMFrameServiceProxy.getSqlTemplate()
|
||||
.update(insertUnDOMaterialPackingInfo, bindMap_insert);
|
||||
}
|
||||
// 更新Box状态
|
||||
// 根据物料数量和包装数量,更新物料包装的状态和相关属性
|
||||
for (String s : list) {
|
||||
MaterialPackingKey materialPackingKey = new MaterialPackingKey("SDK",s);
|
||||
com.cim.idm.wmspackage.materialpacking.management.data.MaterialPacking selectByKey = MaterialPackingServiceProxy.getMaterialPackingService().selectByKey(materialPackingKey);
|
||||
double materialQuantity = selectByKey.getMaterialQuantity();
|
||||
double materialQuantity2 = selectByKey.getMaterialQuantity2();
|
||||
BigDecimal fmaterialQuantity = new BigDecimal(materialQuantity);
|
||||
BigDecimal fmaterialQuantity2 = new BigDecimal(materialQuantity2);
|
||||
if (fmaterialQuantity.compareTo(fmaterialQuantity2) > 0 && fmaterialQuantity2.compareTo(BigDecimal.ZERO) != 0) {
|
||||
Map<String, Object> hashMap = new HashMap<String,Object> ();
|
||||
hashMap.put("materialQuantity", fmaterialQuantity.subtract(fmaterialQuantity2));
|
||||
hashMap.put("materialQuantity2", 0);
|
||||
hashMap.put("shipRequestName", "");
|
||||
hashMap.put("shipRequestDetailName", "");
|
||||
SetEventInfo setEventInfo = new SetEventInfo();
|
||||
setEventInfo.setUserColumns(hashMap);
|
||||
MaterialPackingServiceProxy.getMaterialPackingService().setEvent(materialPackingKey, makeEventInfo, setEventInfo);
|
||||
} else {
|
||||
Map<String, Object> hashMap = new HashMap<String,Object> ();
|
||||
hashMap.put("stockState", "Stocked");
|
||||
SetEventInfo setEventInfo = new SetEventInfo();
|
||||
setEventInfo.setUserColumns(hashMap);
|
||||
MaterialPackingServiceProxy.getMaterialPackingService().setEvent(materialPackingKey, makeEventInfo, setEventInfo);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void SaveSplitUnDoInfo_ForSap(List<String> list, String undoid, EventInfo makeEventInfo) {
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user