|
|
@@ -171,17 +171,18 @@ namespace Dongke.IBOSS.PRD.Service.PDAModuleLogic
|
|
|
{
|
|
|
//产品与装具的绑定状态
|
|
|
sqlStr = $@"
|
|
|
- SELECT
|
|
|
- TPE.EntruckingCode
|
|
|
- FROM TP_PM_ENTRUCKING TPE
|
|
|
- INNER JOIN TP_PM_EntruckingDetail TPED
|
|
|
- ON TPE.EntruckingCode = TPED.EntruckingCode
|
|
|
- AND TPE.Batch = TPED.Batch
|
|
|
- WHERE TPE.Status = 1
|
|
|
- AND (TPED.DOFUNCTION = '1' OR TPED.DOFUNCTION = '3')
|
|
|
- AND TPED.BARCODE = '{barCode}'";
|
|
|
+ SELECT
|
|
|
+ TPE.EntruckingCode,TPED.DOFUNCTION
|
|
|
+ FROM
|
|
|
+ TP_PM_ENTRUCKING TPE
|
|
|
+ INNER JOIN TP_PM_EntruckingDetail TPED ON TPE.EntruckingCode = TPED.EntruckingCode
|
|
|
+ AND TPE.Batch = TPED.Batch
|
|
|
+ WHERE
|
|
|
+ TPE.Status = 1 AND
|
|
|
+ TPED.BARCODE = '{barCode}'
|
|
|
+ ORDER BY TPED.CREATETIME DESC";
|
|
|
dt = conn.GetSqlResultToDt(sqlStr);
|
|
|
- if (dt.Rows.Count > 0)
|
|
|
+ if (dt.Rows.Count > 0 && (dt.Rows[0]["dt.Rows"].Equals("1") || dt.Rows[0]["dt.Rows"].Equals("3")))
|
|
|
{
|
|
|
sre.Status = Constant.ServiceResultStatus.Other;
|
|
|
sre.Message = "产品" + barCode + "已在装具" + dt.Rows[0]["EntruckingCode"] + "上"; ;
|
|
|
@@ -379,22 +380,37 @@ namespace Dongke.IBOSS.PRD.Service.PDAModuleLogic
|
|
|
{
|
|
|
sqlStr = $@"
|
|
|
SELECT
|
|
|
- TD.ENTRUCKINGCODE,
|
|
|
- TD.BARCODE,
|
|
|
- G.GOODSCODE,
|
|
|
- U.USERCODE,
|
|
|
- P.PROCEDURENAME
|
|
|
- FROM
|
|
|
- TP_PM_ENTRUCKINGDETAIL TD
|
|
|
- INNER JOIN TP_PM_ENTRUCKING T ON T.ENTRUCKINGCODE = TD.ENTRUCKINGCODE AND T.BATCH = TD.BATCH
|
|
|
- INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.BARCODE = TD.BARCODE
|
|
|
- INNER JOIN TP_PM_INPRODUCTION IP ON IP.BARCODE = TD.BARCODE
|
|
|
- INNER JOIN TP_PC_PROCEDURE P ON P.PROCEDUREID = IP.PROCEDUREID
|
|
|
- INNER JOIN TP_MST_USER U ON U.USERID = IP.USERID
|
|
|
- INNER JOIN TP_MST_GOODS G ON G.GOODSID = GDD.GOODSID
|
|
|
- WHERE
|
|
|
- TD.ENTRUCKINGCODE = '{entruckingCode}'
|
|
|
- AND T.STATUS = '1'
|
|
|
+ TT.ENTRUCKINGCODE,
|
|
|
+ TT.BARCODE,
|
|
|
+ TT.GOODSCODE,
|
|
|
+ TT.USERCODE,
|
|
|
+ TT.PROCEDURENAME
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ ROW_NUMBER ( ) OVER ( PARTITION BY TD.BARCODE ORDER BY TD.CREATETIME DESC ) RN,
|
|
|
+ TD.ENTRUCKINGCODE,
|
|
|
+ TD.BARCODE,
|
|
|
+ G.GOODSCODE,
|
|
|
+ U.USERCODE,
|
|
|
+ P.PROCEDURENAME,
|
|
|
+ TD.DOFUNCTION
|
|
|
+ FROM
|
|
|
+ TP_PM_ENTRUCKINGDETAIL TD
|
|
|
+ INNER JOIN TP_PM_ENTRUCKING T ON T.ENTRUCKINGCODE = TD.ENTRUCKINGCODE
|
|
|
+ AND T.BATCH = TD.BATCH
|
|
|
+ INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.BARCODE = TD.BARCODE
|
|
|
+ INNER JOIN TP_PM_INPRODUCTION IP ON IP.BARCODE = TD.BARCODE
|
|
|
+ INNER JOIN TP_PC_PROCEDURE P ON P.PROCEDUREID = IP.PROCEDUREID
|
|
|
+ INNER JOIN TP_MST_USER U ON U.USERID = IP.USERID
|
|
|
+ INNER JOIN TP_MST_GOODS G ON G.GOODSID = GDD.GOODSID
|
|
|
+ WHERE
|
|
|
+ TD.ENTRUCKINGCODE = '{entruckingCode}'
|
|
|
+ AND T.STATUS = '1'
|
|
|
+ ) TT
|
|
|
+ WHERE
|
|
|
+ TT.RN = 1
|
|
|
+ AND ( TT.DOFUNCTION = '1' OR TT.DOFUNCTION = '3' )
|
|
|
";
|
|
|
dt = conn.GetSqlResultToDt(sqlStr);
|
|
|
sre.Data.Tables.Add(dt);
|
|
|
@@ -719,6 +735,50 @@ namespace Dongke.IBOSS.PRD.Service.PDAModuleLogic
|
|
|
AND T.STATUS = '1'
|
|
|
";
|
|
|
int execute = conn.ExecuteNonQuery(sqlStr);
|
|
|
+
|
|
|
+ //查看装具是否有产品,若已无产品,装具自动解绑
|
|
|
+ sqlStr = $@"
|
|
|
+ SELECT
|
|
|
+ TT.ENTRUCKINGCODE,
|
|
|
+ TT.BARCODE,
|
|
|
+ TT.GOODSCODE,
|
|
|
+ TT.USERCODE,
|
|
|
+ TT.PROCEDURENAME
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ ROW_NUMBER ( ) OVER ( PARTITION BY TD.BARCODE ORDER BY TD.CREATETIME DESC ) RN,
|
|
|
+ TD.ENTRUCKINGCODE,
|
|
|
+ TD.BARCODE,
|
|
|
+ G.GOODSCODE,
|
|
|
+ U.USERCODE,
|
|
|
+ P.PROCEDURENAME,
|
|
|
+ TD.DOFUNCTION
|
|
|
+ FROM
|
|
|
+ TP_PM_ENTRUCKINGDETAIL TD
|
|
|
+ INNER JOIN TP_PM_ENTRUCKING T ON T.ENTRUCKINGCODE = TD.ENTRUCKINGCODE
|
|
|
+ AND T.BATCH = TD.BATCH
|
|
|
+ INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.BARCODE = TD.BARCODE
|
|
|
+ INNER JOIN TP_PM_INPRODUCTION IP ON IP.BARCODE = TD.BARCODE
|
|
|
+ INNER JOIN TP_PC_PROCEDURE P ON P.PROCEDUREID = IP.PROCEDUREID
|
|
|
+ INNER JOIN TP_MST_USER U ON U.USERID = IP.USERID
|
|
|
+ INNER JOIN TP_MST_GOODS G ON G.GOODSID = GDD.GOODSID
|
|
|
+ WHERE
|
|
|
+ TD.ENTRUCKINGCODE = '{entruckingCode}'
|
|
|
+ AND T.STATUS = '1'
|
|
|
+ ) TT
|
|
|
+ WHERE
|
|
|
+ TT.RN = 1
|
|
|
+ AND ( TT.DOFUNCTION = '1' OR TT.DOFUNCTION = '3' )
|
|
|
+ ";
|
|
|
+ dt = conn.GetSqlResultToDt(sqlStr);
|
|
|
+ if (dt.Rows.Count == 0)
|
|
|
+ {
|
|
|
+ //装具自动解绑
|
|
|
+ sqlStr = $@"UPDATE TP_PM_ENTRUCKING SET STATUS = '0' WHERE ENTRUCKINGCODE = '{entruckingCode}' ";
|
|
|
+ execute = conn.ExecuteNonQuery(sqlStr);
|
|
|
+ }
|
|
|
+
|
|
|
if (execute > 0)
|
|
|
{
|
|
|
conn.Commit();
|
|
|
@@ -780,17 +840,17 @@ namespace Dongke.IBOSS.PRD.Service.PDAModuleLogic
|
|
|
//产品与装具的绑定状态
|
|
|
sqlStr = $@"
|
|
|
SELECT
|
|
|
- TPE.EntruckingCode
|
|
|
+ TPE.EntruckingCode,TPED.DOFUNCTION
|
|
|
FROM TP_PM_ENTRUCKING TPE
|
|
|
INNER JOIN TP_PM_EntruckingDetail TPED
|
|
|
ON TPE.EntruckingCode = TPED.EntruckingCode
|
|
|
AND TPE.Batch = TPED.Batch
|
|
|
WHERE TPE.Status = 1
|
|
|
- AND (TPED.DOFUNCTION = '1' OR TPED.DOFUNCTION = '3')
|
|
|
AND TPED.BARCODE = '{barCode}'
|
|
|
- AND TPED.ENTRUCKINGCODE = '{entruckingCode}'";
|
|
|
+ AND TPED.ENTRUCKINGCODE = '{entruckingCode}'
|
|
|
+ ORDER BY TPED.CREATETIME DESC";
|
|
|
dt = conn.GetSqlResultToDt(sqlStr);
|
|
|
- if (dt.Rows.Count > 0)
|
|
|
+ if (dt.Rows.Count > 0 && (dt.Rows[0]["DOFUNCTION"].Equals("1") || dt.Rows[0]["DOFUNCTION"].Equals("3")))
|
|
|
{
|
|
|
sqlStr = $@"
|
|
|
SELECT
|