Procházet zdrojové kódy

产品信息接口修正

fenglinyong před 2 roky
rodič
revize
1b7f9da20e
1 změnil soubory, kde provedl 59 přidání a 74 odebrání
  1. 59 74
      wwwroot/api/getgoods/index.ashx

+ 59 - 74
wwwroot/api/getgoods/index.ashx

@@ -192,80 +192,65 @@ public class index : IHttpHandler
 	{
 		//业务数据读取
 		DataTable dt = conn.ExecuteDatatable(@"
-						SELECT
-							T.GOODSNAME,
-							T.GOODSCODE,
-							T.GOODSSPECIFICATION,
-							T.GOODSMODEL,
-							T.GOODSTYPENAME,
-						  T.GOODS_LINE_TYPE,
-							T.DICTIONARYVALUE,
-							T.PLATELIMITNUM,
-							T.LOGONAME,
-							T.BUILDINGNO,
-							T.GOODSLEVELNAME,
-							TMGK.KingdeeCode
-						FROM
-							(
-			            SELECT DISTINCT
-							TPGD.GOODSNAME,
-	                        TPGD.GOODSCODE,
-	                        TMG.GOODSSPECIFICATION,
-	                        TMG.GOODSMODEL,
-	                        TMGT.GOODSTYPENAME,
-                        CASE
-		                        TMG.GOODS_LINE_TYPE 
-		                        WHEN 0 THEN
-		                        '普通' ELSE '高压' 
-	                        END AS GOODS_LINE_TYPE,
-	                        TMDC.DICTIONARYVALUE,
-	                        1 AS PLATELIMITNUM,
-	                        TML.LOGONAME,
-	                        (
-	                        CASE
-			
-			                        WHEN TPPC.PROCEDUREID = 35 THEN
-			                        '重烧' 
-			                        WHEN TPPC.PROCEDUREID != 35 THEN
-			                        ( CASE WHEN TPG.BUILDINGNO = '1#' THEN '一期' WHEN TPG.BUILDINGNO = '2#' THEN '二期' WHEN TPG.BUILDINGNO = '3#' THEN '三期' END ) 
-			                        END 
-			                        ) AS BUILDINGNO,
-			                        TMGL.GOODSLEVELNAME,
-			                        NULL AS KingdeeCode 
-		                        FROM
-			                        TP_PM_GROUTINGDAILYDETAIL TPGD
-															LEFT JOIN TP_PM_GlazetypeRecord TPGR ON TPGR.GROUTINGDAILYDETAILID =  TPGD.GROUTINGDAILYDETAILID
-			                        LEFT JOIN TP_MST_GOODS TMG ON TPGD.GOODSID = TMG.GOODSID
-			                        LEFT JOIN TP_MST_GOODSTYPE TMGT ON TMG.GOODSTYPEID = TMGT.GOODSTYPEID
-			                        LEFT JOIN TP_MST_DATADICTIONARY TMDC ON TPGR.NEWGLAZETYPEID = TMDC.DICTIONARYID
-			                        LEFT JOIN TP_MST_LOGO TML ON TPGD.LOGOID = TML.LOGOID
-			                        LEFT JOIN TP_PC_GROUTINGLINE TPG ON TPGD.GROUTINGLINEID = TPG.GROUTINGLINEID
-			                        LEFT JOIN TP_MST_GOODSLEVEL TMGL ON TPGD.GOODSLEVELTYPEID = TMGL.GOODSLEVELTYPEID
-			                        LEFT JOIN TP_PM_PRODUCTIONDATA TPPD ON TPGD.BARCODE = TPPD.BARCODE
-			                        LEFT JOIN TP_PC_PROCEDURE TPPC ON TPPD.PROCEDUREID = TPPC.PROCEDUREID 
-		                        WHERE
-			                        (
-			                        CASE
-					                        WHEN(
-					                        SELECT
-						                        COUNT( * ) 
-					                        FROM
-						                        TP_PM_PRODUCTIONDATA TPPD
-						                        LEFT JOIN TP_PC_PROCEDURE TPPC ON TPPD.PROCEDUREID = TPPC.PROCEDUREID
-					                        WHERE
-						                        TPPD.PROCEDUREID = 35
-						                        AND TPPD.BARCODE = @BARCODE@
-						                        ) = 1 THEN
-						                        35 ELSE TPPD.PROCEDUREID
-					                        END
-					                        ) = TPPD.PROCEDUREID
-					                        AND TPGD.VALUEFLAG = 1
-					                        AND TMDC.DICTIONARYTYPE = 'TPC002'
-				                        AND TPPD.BARCODE = @BARCODE@
-										) T
-										LEFT JOIN TP_MST_GOODSKINGDEECODE TMGK ON T.GOODSCODE = TMGK.GOODSCODE
-										AND T.DICTIONARYVALUE = TMGK.GLAZETYPE
-										AND T.LOGONAME = TMGK.LOGONAME
+																					SELECT
+																						T.BARCODE,
+																						T.GOODSNAME,
+																						T.GOODSCODE,
+																						T.GOODSSPECIFICATION,
+																						T.GOODSMODEL,
+																						T.GOODSTYPENAME,
+																						T.GOODS_LINE_TYPE,
+																						T.DICTIONARYVALUE,
+																						T.PLATELIMITNUM,
+																						T.LOGONAME,
+																						T.BUILDINGNO,
+																						TMGL.GOODSLEVELNAME,
+																						TMGK.KingdeeCode
+																					FROM
+																						(
+																						SELECT DISTINCT
+																							TPGD.BARCODE,
+																							TPGD.GOODSNAME,
+																							TPGD.GOODSCODE,
+																							TMG.GOODSSPECIFICATION,
+																							TMG.GOODSMODEL,
+																							TMGT.GOODSTYPENAME,
+																							CASE
+																								TMG.GOODS_LINE_TYPE WHEN 0 THEN
+																								'普通' ELSE '高压' 
+																							END AS GOODS_LINE_TYPE,
+																							TMDC.DICTIONARYVALUE,
+																							1 AS PLATELIMITNUM,
+																							TML.LOGONAME,
+																							(
+																								CASE WHEN TPPC.PROCEDUREID = 35 THEN '重烧' WHEN TPPC.PROCEDUREID != 35 THEN ( CASE WHEN TPG.BUILDINGNO = '1#' THEN '一期' WHEN TPG.BUILDINGNO = '2#' THEN '二期' WHEN TPG.BUILDINGNO = '3#' THEN '三期' END ) END 
+																							) AS BUILDINGNO,
+																							TPPD.GOODSLEVELID,
+																							NULL AS KingdeeCode,
+																							TPPD.CHECKFLAG
+																						FROM
+																							TP_PM_GROUTINGDAILYDETAIL TPGD
+																							LEFT JOIN TP_PM_GlazetypeRecord TPGR ON TPGR.GROUTINGDAILYDETAILID = TPGD.GROUTINGDAILYDETAILID
+																							LEFT JOIN TP_MST_GOODS TMG ON TPGD.GOODSID = TMG.GOODSID
+																							LEFT JOIN TP_MST_GOODSTYPE TMGT ON TMG.GOODSTYPEID = TMGT.GOODSTYPEID
+																							LEFT JOIN TP_MST_DATADICTIONARY TMDC ON TPGR.NEWGLAZETYPEID = TMDC.DICTIONARYID
+																							LEFT JOIN TP_MST_LOGO TML ON TPGD.LOGOID = TML.LOGOID
+																							LEFT JOIN TP_PC_GROUTINGLINE TPG ON TPGD.GROUTINGLINEID = TPG.GROUTINGLINEID
+																							INNER JOIN TP_PM_PRODUCTIONDATA TPPD ON TPGD.BARCODE = TPPD.BARCODE
+																							LEFT JOIN TP_PC_PROCEDURE TPPC ON TPPD.PROCEDUREID = TPPC.PROCEDUREID 
+																					WHERE
+																						( CASE WHEN 
+																							( SELECT COUNT( * ) FROM TP_PM_PRODUCTIONDATA TPPD LEFT JOIN TP_PC_PROCEDURE TPPC ON TPPD.PROCEDUREID = TPPC.PROCEDUREID  WHERE TPPD.PROCEDUREID IN 35 AND TPPD.BARCODE = @BARCODE@ ) = 1 THEN 35 
+																							ELSE 13 END 
+																						) = TPPD.PROCEDUREID 
+																						AND TPGD.VALUEFLAG = 1 
+																						AND TMDC.DICTIONARYTYPE = 'TPC002' 
+																						AND TPGD.BARCODE = @BARCODE@
+																						) T
+																					LEFT JOIN TP_MST_GOODSKINGDEECODE TMGK ON T.GOODSCODE = TMGK.GOODSCODE 
+																						AND T.DICTIONARYVALUE = TMGK.GLAZETYPE 
+																						AND T.LOGONAME = TMGK.LOGONAME
+																					LEFT JOIN TP_MST_GOODSLEVEL TMGL ON TMGL.GOODSLEVELID = T.GOODSLEVELID
 			",
 			new CDAParameter("BARCODE", barCode)
 		);