Esempio n. 1
0
 public DataTable GetBillList(string type, int number, int startPage)
 {
     using (PersistentManager pm = new PersistentManager())
     {
         BillDao dao = new BillDao();
         string  sql = "";
         if (type == "入库")
         {
             sql = @"SELECT CELL_NAME AS CLEENAME,'入库' AS BILLTYPE,PRODUCT_NAME AS PRODUCTNAME,
                     CAST(ALLOT_QUANTITY/(U.QUANTITY01 * U.QUANTITY02 * U.QUANTITY03) AS INT) AS OPERATEPIECE,
                     CAST((ALLOT_QUANTITY/(U.QUANTITY01 * U.QUANTITY02 * U.QUANTITY03)) * U.QUANTITY01 AS INT) AS OPERATEITEM,
                     CASE WHEN I.STATUS='0' THEN '未执行' ELSE '执行中' END AS STATUS,'' AS MOVECELLNAME
                     FROM WMS_IN_BILL_ALLOT I                                        --入库分配表
                     LEFT JOIN WMS_IN_BILL_MASTER M ON I.BILL_NO=M.BILL_NO           --关联入库主表
                     LEFT JOIN WMS_CELL C ON I.CELL_CODE=C.CELL_CODE                 --关联货位表
                     LEFT JOIN WMS_PRODUCT P ON I.PRODUCT_CODE=P.PRODUCT_CODE        --关联卷烟表
                     LEFT JOIN WMS_UNIT_LIST U ON P.UNIT_LIST_CODE=U.UNIT_LIST_CODE  --关联单位系列表
                     WHERE I.STATUS != 2 AND M.STATUS IN('4','5') ORDER BY STATUS DESC";
         }
         else if (type == "出库")
         {
             sql = @"SELECT CELL_NAME AS CLEENAME,'出库' AS BILLTYPE,PRODUCT_NAME AS PRODUCTNAME,
                     CAST(ALLOT_QUANTITY/(U.QUANTITY01 * U.QUANTITY02 * U.QUANTITY03) AS INT) AS OPERATEPIECE,
                     CAST((ALLOT_QUANTITY/(U.QUANTITY01 * U.QUANTITY02 * U.QUANTITY03)) * U.QUANTITY01 AS INT) AS OPERATEITEM,
                     CASE WHEN I.STATUS='0' THEN '未执行' ELSE '执行中' END AS STATUS,'' AS MOVECELLNAME
                     FROM WMS_OUT_BILL_ALLOT I
                     LEFT JOIN WMS_OUT_BILL_MASTER M ON I.BILL_NO=M.BILL_NO
                     LEFT JOIN WMS_CELL C ON I.CELL_CODE=C.CELL_CODE
                     LEFT JOIN WMS_PRODUCT P ON I.PRODUCT_CODE=P.PRODUCT_CODE
                     LEFT JOIN WMS_UNIT_LIST U ON P.UNIT_LIST_CODE=U.UNIT_LIST_CODE
                     WHERE I.STATUS != 2 AND M.STATUS IN('4','5') ORDER BY STATUS DESC";
         }
         else if (type == "移库")
         {
             sql = @"SELECT C.CELL_NAME AS CLEENAME,'移库' AS BILLTYPE,PRODUCT_NAME AS PRODUCTNAME,
                     CAST(REAL_QUANTITY/(U.QUANTITY01 * U.QUANTITY02 * U.QUANTITY03) AS INT) AS OPERATEPIECE,
                     CAST((REAL_QUANTITY/(U.QUANTITY01 * U.QUANTITY02 * U.QUANTITY03)) * U.QUANTITY01 AS INT) AS OPERATEITEM,
                     CASE WHEN I.STATUS='0' THEN '未执行' ELSE '执行中' END AS STATUS,
                     W.CELL_NAME AS MOVECELLNAME									
                     FROM WMS_MOVE_BILL_DETAIL I										--移库细表
                     LEFT JOIN WMS_MOVE_BILL_MASTER M ON I.BILL_NO=M.BILL_NO			--移库主表
                     LEFT JOIN WMS_CELL C ON I.OUT_CELL_CODE=C.CELL_CODE				--出货位表
                     LEFT JOIN WMS_CELL W ON I.IN_CELL_CODE=W.CELL_CODE				--入货位表
                     LEFT JOIN WMS_PRODUCT P ON I.PRODUCT_CODE=P.PRODUCT_CODE		--卷烟表
                     LEFT JOIN WMS_UNIT_LIST U ON P.UNIT_LIST_CODE=U.UNIT_LIST_CODE	--单位系列表
                     WHERE I.STATUS != 2 AND M.STATUS IN('2','3') ORDER BY STATUS DESC";
         }
         else if (type == "盘点")
         {
             sql = @"SELECT CELL_NAME AS CLEENAME,'盘点' AS BILLTYPE,PRODUCT_NAME AS PRODUCTNAME,
                     CAST(REAL_QUANTITY/(U.QUANTITY01 * U.QUANTITY02 * U.QUANTITY03) AS INT) AS OPERATEPIECE,
                     CAST((REAL_QUANTITY/(U.QUANTITY01 * U.QUANTITY02 * U.QUANTITY03)) * U.QUANTITY01 AS INT) AS OPERATEITEM,
                     CASE WHEN I.STATUS='0' THEN '未执行' ELSE '执行中' END AS STATUS,'' AS MOVECELLNAME
                     FROM WMS_CHECK_BILL_DETAIL I
                     LEFT JOIN WMS_CHECK_BILL_MASTER M ON I.BILL_NO=M.BILL_NO
                     LEFT JOIN WMS_CELL C ON I.CELL_CODE=C.CELL_CODE 
                     LEFT JOIN WMS_PRODUCT P ON I.PRODUCT_CODE=P.PRODUCT_CODE
                     LEFT JOIN WMS_UNIT_LIST U ON P.UNIT_LIST_CODE=U.UNIT_LIST_CODE
                     WHERE I.STATUS != 2 AND M.STATUS IN('2','3') ORDER BY STATUS DESC";
         }
         else if (type == "实时")
         {
             sql = @"SELECT C.CELL_NAME AS CLEENAME,'移库' AS BILLTYPE,PRODUCT_NAME AS PRODUCTNAME,
                     CAST(REAL_QUANTITY/(U.QUANTITY01 * U.QUANTITY02 * U.QUANTITY03) AS INT) AS OPERATEPIECE,
                     CAST((REAL_QUANTITY/(U.QUANTITY01 * U.QUANTITY02 * U.QUANTITY03)) * U.QUANTITY01 AS INT) AS OPERATEITEM,
                     CASE WHEN I.STATUS='0' THEN '未执行' ELSE '执行中' END AS STATUS,
                     W.CELL_NAME AS MOVECELLNAME									
                     FROM WMS_MOVE_BILL_DETAIL I										--移库细表
                     LEFT JOIN WMS_MOVE_BILL_MASTER M ON I.BILL_NO=M.BILL_NO			--移库主表
                     LEFT JOIN WMS_CELL C ON I.OUT_CELL_CODE=C.CELL_CODE				--出货位表
                     LEFT JOIN WMS_CELL W ON I.IN_CELL_CODE=W.CELL_CODE				--入货位表
                     LEFT JOIN WMS_PRODUCT P ON I.PRODUCT_CODE=P.PRODUCT_CODE		--卷烟表
                     LEFT JOIN WMS_UNIT_LIST U ON P.UNIT_LIST_CODE=U.UNIT_LIST_CODE	--单位系列表
                     WHERE I.STATUS != 2 AND M.STATUS IN('2','3') AND I.CAN_REAL_OPERATE = 1 ORDER BY STATUS DESC";
         }
         return(dao.GetBillList(sql));
     }
 }