konghe 1 жил өмнө
parent
commit
3cadf76635

+ 40 - 12
DK.Service/PMModuleLogic/PMModuleLogicDAL.cs

@@ -31005,7 +31005,7 @@ updateuserid=:updateuserid where barcode=:barcode";
             string mes = "";
             List<DataTable> tables = new List<DataTable>();
             DataSet ds = new DataSet();
-            var dt = SapApi.ZMM_WMS016("1000", null, "1350", out mes);
+            var dt = SapApi.ZMM_WMS016("1000", null, lgort, out mes);
             DataTable table = new DataTable();
 
             table.Columns.Add("WERKS", typeof(string));
@@ -31047,7 +31047,7 @@ updateuserid=:updateuserid where barcode=:barcode";
             return tables;
         }
 
-        public static ServiceResultEntity SaveSendOutGoodsLogs(SendOutGoodsEntity send, List<SendOutGoodsDetailEntity> sendDetail, SUserInfo sUserInfo)
+        public static ServiceResultEntity SaveSendOutGoodsLogs(SendOutGoodsEntity send, List<SendOutGoodsDetailEntity> sendDetail, SUserInfo sUserInfo, bool isRepair = false)
         {
             StringBuilder where = new StringBuilder();
             ServiceResultEntity result = new ServiceResultEntity();
@@ -31099,7 +31099,6 @@ updateuserid=:updateuserid where barcode=:barcode";
                     LGORT = send.WAREHOUSINGNAME;
                 }
                 var dt = SapApi.ZMM_WMS016(WERKS, matnr, LGORT, out message);
-                //dt.sort = "批号 ASC";
                 List<string> countList = new List<string>();
                 for (int i = 0; i < matnr.Count; i++)
                 {
@@ -31165,12 +31164,16 @@ updateuserid=:updateuserid where barcode=:barcode";
                 var dt2 = SapApi.ZMMFM_MES_YCDB(SnedSendOutGoodsList, out message);
                 var SYNCSTATUS = 2;
                 string MBLNR = "";
+                string ZMSG = "";
+                string ZTYPE = "";
                 if (dt2 != null && dt2.Rows.Count > 0)
                 {
+                    ZTYPE = dt2.Rows[0]["ZTYPE"].ToString();
+                    MBLNR = dt2.Rows[0]["MBLNR"].ToString();
+                    ZMSG = dt2.Rows[0]["ZMSG"].ToString();
                     if (dt2.Rows[0]["ZTYPE"].ToString() == "S")
                     {
                         SYNCSTATUS = 1;
-                        MBLNR = dt2.Rows[0]["MBLNR"].ToString();
                     }
                 }
                 try
@@ -31180,22 +31183,35 @@ updateuserid=:updateuserid where barcode=:barcode";
                     string WAREHOUSING = oracleTrConn.GetSqlResultToStr("(select DICTIONARYVALUE  from  TP_MST_DATADICTIONARY where DICTIONARYid = '" + WAREHOUSINGID + "')", parmetersSql);
                     string RECEIVE = oracleTrConn.GetSqlResultToStr("(select DICTIONARYVALUE from  TP_MST_DATADICTIONARY where DICTIONARYid= '" + send.RECEIVEID + "')", parmetersSql);
                     string CARPLATE = oracleTrConn.GetSqlResultToStr("(select DICTIONARYVALUE  from  TP_MST_DATADICTIONARY where  DICTIONARYid= '" + send.CARPLATEID + "')", parmetersSql);
-                    if (isCrete)
+                    if (isRepair)
+                    {
+                        string PZ = oracleTrConn.GetSqlResultToStr("select MBLNR from TP_PM_SENDOUTGOODSLOG WHERE SENDOUTCODE = '" + SENDOUTCODE + "'");
+                        resultNumber += oracleTrConn.ExecuteNonQuery(sql, parmetersSql);
+                        sql = "UPDATE TP_PM_SENDOUTGOODSLOG SET  ISAMENDS = '" + SYNCSTATUS + "', AMENDSTIME = SYSDATE, UPDATETIME =SYSDATE, UPDATEUSERID = '" + userid + "',MBLNR = '" + MBLNR + "' WHERE SENDOUTCODE = '" + SENDOUTCODE + "'";
+                        resultNumber += oracleTrConn.ExecuteNonQuery(sql, parmetersSql);
+                        sql = "UPDATE TP_PM_SENDOUTSAPLOG SET  ZTYPE = '" + ZTYPE + "', MBLNR = '" + MBLNR + "', ZMSG = '" + ZMSG + "' WHERE MBLNR = '" + PZ + "'";
+                        resultNumber += oracleTrConn.ExecuteNonQuery(sql, parmetersSql);
+                    }
+                    else if (isCrete)
                     {
                         int SENDOUTGOODSLOG_ID = Convert.ToInt32(
                                 oracleTrConn.GetSqlResultToStr(@"SELECT SEQ_PM_SENDOUTGOODSLOG_ID.NEXTVAL FROM DUAL"));
-
-                        sql = "INSERT INTO TP_PM_SENDOUTGOODSLOG(SENDOUTGOODSLOGID, SENDOUTCODE, USERID, USERCODE, WAREHOUSINGID, WAREHOUSINGNAME, RECEIVEID, RECEIVENAME, CARPLATEID, CARPLATENAME, ACCOUNTDATE, DELIVERDATE, SYNCSTATUS, SYNCTIME,     ACCOUNTID, VALUEFLAG, CREATETIME, CREATEUSERID ,UPDATETIME,UPDATEUSERID, MBLNR) values (" + SENDOUTGOODSLOG_ID + ", '" + SENDOUTCODE + "'," + userid + ", '" + usercode + "', '" + WAREHOUSINGID + "', '" + WAREHOUSING + "', '" + send.RECEIVEID + "','" + RECEIVE + "', '" + send.CARPLATEID + "', '" + CARPLATE + "', FUN_CMN_GETDATETIME('" + send.ACCOUNTDATE + "'), FUN_CMN_GETDATETIME('" + send.DELIVERDATE + "'), '" + SYNCSTATUS + "', SYSDATE,  '1','1', SYSDATE,'" + userid + "', SYSDATE, '" + userid + "','" + MBLNR + "')";
+                        sql = "INSERT INTO TP_PM_SENDOUTGOODSLOG(SENDOUTGOODSLOGID, SENDOUTCODE, USERID, USERCODE, WAREHOUSINGID, WAREHOUSINGNAME, RECEIVEID, RECEIVENAME, CARPLATEID, CARPLATENAME, ACCOUNTDATE, DELIVERDATE, SYNCSTATUS, SYNCTIME,     ACCOUNTID, VALUEFLAG, CREATETIME, CREATEUSERID ,UPDATETIME,UPDATEUSERID, MBLNR,ZMSG) values (" + SENDOUTGOODSLOG_ID + ", '" + SENDOUTCODE + "'," + userid + ", '" + usercode + "', '" + WAREHOUSINGID + "', '" + WAREHOUSING + "', '" + send.RECEIVEID + "','" + RECEIVE + "', '" + send.CARPLATEID + "', '" + CARPLATE + "', FUN_CMN_GETDATETIME('" + send.ACCOUNTDATE + "'), FUN_CMN_GETDATETIME('" + send.DELIVERDATE + "'), '" + SYNCSTATUS + "', SYSDATE,  '1','1', SYSDATE,'" + userid + "', SYSDATE, '" + userid + "','" + MBLNR + "','" + ZMSG + "')";
                         resultNumber += oracleTrConn.ExecuteNonQuery(sql, parmetersSql);
                         foreach (var item in sendDetail)
                         {
                             sql = "INSERT INTO TP_PM_SENDOUTGOODSLOGDETAIL( SENDOUTGOODSLOGID, FINISHEDLOADBATCHNO, GOODSCODE, MATERIALCODE, MATERIALREMARK, BINDINGCOUNT, BANMA, ACCOUNTID, VALUEFLAG, CREATETIME, CREATEUSERID, UPDATETIME, UPDATEUSERID) VALUES (" + SENDOUTGOODSLOG_ID + ", '" + item.FINISHEDLOADBATCHNO + "', '" + item.GOODSCODE + "', '" + item.MATERIALCODE + "', '" + item.MATERIALREMARK + "', " + (int)decimal.Parse(item.BINDINGCount) + ", '" + (item.Banma == null || item.Banma == "null" ? "" : item.Banma) + "', 1, 1, SYSDATE, '" + userid + "', SYSDATE, '" + userid + "')";
                             resultNumber += oracleTrConn.ExecuteNonQuery(sql, parmetersSql);
                         }
+                        foreach (var item in SnedSendOutGoodsList)
+                        {
+                            sql = "INSERT INTO TP_PM_SENDOUTSAPLOG(SENDOUTGOODSLOGID, MESNO, MESLINENO, ZID, BUDAT, BWART, WERKS, MATNR, PSMNG, MEINS, LGORT, CHARG, MOVE_MAT, MOVE_STLOC, MOVE_BATCH, CARID, ZTYPE, MBLNR, ZMSG, ACCOUNTID, VALUEFLAG, CREATETIME, CREATEUSERID) VALUES ( " + SENDOUTGOODSLOG_ID + ", '" + item.MESNO + "','" + item.MESLINENO + "', '" + item.ZID + "', '" + item.BUDAT + "', '" + item.BWART + "', '" + item.WERKS + "', '" + item.MATNR + "', '" + item.PSMNG + "', '" + item.MEINS + "', '" + item.LGORT + "', '" + item.CHARG + "', '" + item.MOVE_MAT + "', '" + item.MOVE_STLOC + "', '" + item.MOVE_BATCH + "', '" + item.CARID + "', '" + ZTYPE + "', '" + MBLNR + "', '" + ZMSG + "', 1, 1, SYSDATE, " + userid + ")";
+                            resultNumber += oracleTrConn.ExecuteNonQuery(sql, parmetersSql);
+                        }
                     }
                     else
                     {
-                        sql = "UPDATE TP_PM_SENDOUTGOODSLOG SET WAREHOUSINGID = '" + WAREHOUSINGID + "', WAREHOUSINGNAME = '" + WAREHOUSING + "', RECEIVEID = '" + send.RECEIVEID + "', RECEIVENAME = '" + RECEIVE + "', CARPLATEID = '" + send.CARPLATEID + "', CARPLATENAME ='" + CARPLATE + "', ACCOUNTDATE = FUN_CMN_GETDATETIME('" + send.ACCOUNTDATE + "'), DELIVERDATE = FUN_CMN_GETDATETIME('" + send.DELIVERDATE + "'), SYNCSTATUS = '" + SYNCSTATUS + "', UPDATETIME =SYSDATE, UPDATEUSERID = '" + userid + "',MBLNR = '" + MBLNR + "' WHERE SENDOUTCODE = '" + SENDOUTCODE + "'";
+                        sql = "UPDATE TP_PM_SENDOUTGOODSLOG SET WAREHOUSINGID = '" + WAREHOUSINGID + "', WAREHOUSINGNAME = '" + WAREHOUSING + "', RECEIVEID = '" + send.RECEIVEID + "', RECEIVENAME = '" + RECEIVE + "', CARPLATEID = '" + send.CARPLATEID + "', CARPLATENAME ='" + CARPLATE + "', ACCOUNTDATE = FUN_CMN_GETDATETIME('" + send.ACCOUNTDATE + "'), DELIVERDATE = FUN_CMN_GETDATETIME('" + send.DELIVERDATE + "'), SYNCSTATUS = '" + SYNCSTATUS + "', UPDATETIME =SYSDATE, UPDATEUSERID = '" + userid + "',MBLNR = '" + MBLNR + "',ZMSG='" + ZMSG + "' WHERE SENDOUTCODE = '" + SENDOUTCODE + "'";
                         resultNumber += oracleTrConn.ExecuteNonQuery(sql, parmetersSql);
                         string SENDOUTID = oracleTrConn.GetSqlResultToStr("(select SENDOUTGOODSLOGID from TP_PM_SENDOUTGOODSLOG where SENDOUTCODE='" + SENDOUTCODE + "')", parmetersSql);
                         sql = "UPDATE TP_PM_SENDOUTGOODSLOGDETAIL set valueflag=0 where SENDOUTCODE='" + SENDOUTCODE + "'";
@@ -31205,11 +31221,23 @@ updateuserid=:updateuserid where barcode=:barcode";
                             sql = "INSERT INTO TP_PM_SENDOUTGOODSLOGDETAIL( SENDOUTGOODSLOGID, FINISHEDLOADBATCHNO, GOODSCODE, MATERIALCODE, MATERIALREMARK, BINDINGCOUNT, BANMA, ACCOUNTID, VALUEFLAG, CREATETIME, CREATEUSERID, UPDATETIME, UPDATEUSERID) VALUES (" + SENDOUTID + ", '" + item.FINISHEDLOADBATCHNO + "', '" + item.GOODSCODE + "', '" + item.MATERIALCODE + "', '" + item.MATERIALREMARK + "', " + (int)decimal.Parse(item.BINDINGCount) + ", '" + (item.Banma == null || item.Banma == "null" ? "" : item.Banma) + "', 1, 1, SYSDATE, '" + userid + "', SYSDATE, '" + userid + "')";
                             resultNumber += oracleTrConn.ExecuteNonQuery(sql, parmetersSql);
                         }
+
+                        sql = "UPDATE TP_PM_SENDOUTSAPLOG set valueflag=0 where SENDOUTGOODSLOGID='" + SENDOUTID + "'";
+                        resultNumber += oracleTrConn.ExecuteNonQuery(sql, parmetersSql);
+                        foreach (var item in SnedSendOutGoodsList)
+                        {
+                            sql = "INSERT INTO TP_PM_SENDOUTSAPLOG(SENDOUTGOODSLOGID, MESNO, MESLINENO, ZID, BUDAT, BWART, WERKS, MATNR, PSMNG, MEINS, LGORT, CHARG, MOVE_MAT, MOVE_STLOC, MOVE_BATCH, CARID, ZTYPE, MBLNR, ZMSG, ACCOUNTID, VALUEFLAG, CREATETIME, CREATEUSERID) VALUES ( " + SENDOUTID + ", '" + item.MESNO + "','" + item.MESLINENO + "', '" + item.ZID + "', '" + item.BUDAT + "', '" + item.BWART + "', '" + item.WERKS + "', '" + item.MATNR + "', '" + item.PSMNG + "', '" + item.MEINS + "', '" + item.LGORT + "', '" + item.CHARG + "', '" + item.MOVE_MAT + "', '" + item.MOVE_STLOC + "', '" + item.MOVE_BATCH + "', '" + item.CARID + "', '" + ZTYPE + "', '" + MBLNR + "', '" + ZMSG + "', 1, 1, SYSDATE, " + userid + ")";
+                            resultNumber += oracleTrConn.ExecuteNonQuery(sql, parmetersSql);
+                        }
                     }
 
-                    //修改产成品
-                    sql = "update TP_PM_FINISHEDPRODUCT set SENDOUTFLAG=1 where FINISHEDLOADBATCHNO in (" + where.ToString().TrimEnd(',') + ")";
-                    resultNumber += oracleTrConn.ExecuteNonQuery(sql, parmetersSql);
+                    if (SYNCSTATUS == 1)
+                    {
+                        //修改产成品
+                        sql = "update TP_PM_FINISHEDPRODUCT set SENDOUTFLAG=1 where FINISHEDLOADBATCHNO in (" + where.ToString().TrimEnd(',') + ")";
+                        resultNumber += oracleTrConn.ExecuteNonQuery(sql, parmetersSql);
+
+                    }
                     // 没有错误 提交事务
                     if (resultNumber != 0)
                     {
@@ -31591,7 +31619,7 @@ updateuserid=:updateuserid where barcode=:barcode";
                         sendDetail.FINISHEDLOADBATCHNO = sqlData[y]["FINISHEDLOADBATCHNO"].ToString();
                         setDetailEntity.Add(sendDetail);
                     }
-                   // data.Add("setDetailEntity", setDetailEntity);
+                    // data.Add("setDetailEntity", setDetailEntity);
                     SUserInfo sUserInfo = new SUserInfo();
                     sUserInfo.UserCode = userCode;