Prechádzať zdrojové kódy

装配包装分开控制生产计划

qinqi 1 rok pred
rodič
commit
07d7370ef6

+ 63 - 65
wwwroot/main/Assemble/api/GetLogoData.ashx

@@ -36,6 +36,7 @@ public class GetLogoData : IHttpHandler, IReadOnlySessionState
                      WHERE GDD.BARCODE = @BARCODE@
                      AND PP.BEGINTIME <= SYSDATE
                      AND PP.VALUEFLAG = 1
+                     AND PP.CONTROLRANGE = 1
                      AND PP.ENDTIME > SYSDATE  ",
                new CDAParameter("BARCODE", context.Request["barCode"])
            );
@@ -49,7 +50,7 @@ public class GetLogoData : IHttpHandler, IReadOnlySessionState
                 {
                     //低级权限
                     DataTable plansTable = conn.ExecuteDatatable(@"
-                                SELECT l.logoid AS id
+                                  SELECT l.logoid AS id
                                           ,CASE
                                                WHEN linshi.residuequantity IS NOT NULL THEN
                                                  l.logoname || '[' || t2.materialcode || ']' || ' 剩余[' || linshi.residuequantity || ']'
@@ -75,62 +76,61 @@ public class GetLogoData : IHttpHandler, IReadOnlySessionState
                                               ,case when t.logoid is null then tt.logoid else t.logoid end as logoid 
                                               ,case when t.changenum is null then sum(0) else SUM(t.changenum) end as changenum 
                                                ,tt.quantity
-                                                ,case when t.changenum is null then  tt.quantity else tt.quantity - SUM(t.changenum) end as residuequantity 
-                                                  
-                                                   FROM (SELECT ip.goodsid,ip.logoid,COUNT(distinct l.barcode) changenum
+                                                ,case when t.changenum is null then  tt.quantity else tt.quantity - SUM(t.changenum) end as residuequantity  
+                                                   FROM (
+                                                    --在装配环节变更数量
+                                                   SELECT ip.goodsid,ip.logoid,COUNT(distinct l.barcode) changenum
                                                            FROM tp_pm_logochangedrecord l
-                                                           right JOIN tp_pm_inproduction ip ON l.barcode = ip.barcode 
+                                                           right JOIN tp_pm_groutingdailydetail ip ON l.barcode = ip.barcode 
                                                            LEFT JOIN tp_pc_procedure p ON l.procedureid = p.procedureid
                                                            LEFT JOIN (SELECT pp.goodsid,pp.logoid,pp.quantity,gdd.materialcode,pp.begintime ,pp.endtime
                                                                        FROM tp_pm_production_plan pp
                                                                        LEFT JOIN tp_pm_groutingdailydetail gdd ON pp.goodsid = gdd.goodsid
                                                                       WHERE gdd.barcode = @BARCODE@
                                                                         AND pp.begintime <= SYSDATE
-                                                                        AND pp.endtime > SYSDATE and pp.valueflag = 1) plans  ON plans.goodsid = ip.goodsid AND plans.logoid =  ip.logoid
+                                                                        AND pp.endtime > SYSDATE and pp.valueflag = 1 AND pp.CONTROLRANGE = 1) plans  ON plans.goodsid = ip.goodsid AND plans.logoid =  ip.logoid
                                                           WHERE l.createtime >= plans.begintime
                                                             AND l.createtime < plans.endtime
                                                             AND ip.goodsid = @GOODSID@ 
                                                             and ip.logoid = l.newlogoid 
                                                             AND l.oldlogoid <> l.newlogoid
-                                                            AND (p.modeltype = '-5' OR p.procedureid IN (106,107, 78))
+                                                            AND p.modeltype = '-5' 
+                                                            AND p.procedureid not in(126,152) 
                                                             AND NOT EXISTS (SELECT s.barcode FROM tp_pm_scrapproduct s
                                                                   WHERE s.barcode = l.barcode AND s.valueflag = 1 AND s.createtime >= l.createtime)
                                                             GROUP BY ip.goodsid,ip.logoid
-                                                         UNION ALL
-                                                         --队列中
-                                                         SELECT pf.goodsid ,pf.logoid ,SUM(pf.platenum - pf.outnum) changenum
-                                                           FROM tp_mst_packingform pf
-                                                           left join (SELECT pp.goodsid,pp.logoid,pp.quantity,gdd.materialcode,pp.begintime ,pp.endtime
-                                                                       FROM tp_pm_production_plan pp
-                                                                       LEFT JOIN tp_pm_groutingdailydetail gdd ON pp.goodsid = gdd.goodsid
-                                                                      WHERE gdd.barcode = @BARCODE@
-                                                                        AND pp.begintime <= SYSDATE
-                                                                        AND pp.endtime > SYSDATE and pp.valueflag = 1) plans1 on plans1.goodsid = pf.goodsid and plans1.logoid = pf.logoid
-                                                          WHERE pf.status in (0,1) AND pf.logoid > 0 AND pf.valueflag = 1 AND pf.goodsid = @GOODSID@
-                                                            AND pf.createtime >= plans1.begintime
-                                                            AND pf.createtime < plans1.endtime
-                                                          GROUP BY pf.goodsid,pf.logoid
                                                           UNION ALL
-                                                         --产成品
-                                                         SELECT fp.goodsid ,fp.logoid ,COUNT(distinct fp.barcode) changenum
-                                                           FROM tp_pm_finishedproduct fp
+                                                         --生产数据该产品商标在装配环节保存的数量(装配环节没有变更商标) 
+                                                         SELECT  pd.goodsid ,pd.logoid ,COUNT(distinct pd.barcode) changenum
+                                                           FROM tp_pm_productiondata pd  
+                                                           LEFT JOIN tp_pc_procedure p ON pd.procedureid = p.procedureid 
                                                            left join (SELECT pp.goodsid,pp.logoid,pp.quantity,gdd.materialcode,pp.begintime ,pp.endtime
-                                                                       FROM tp_pm_production_plan pp
-                                                                       LEFT JOIN tp_pm_groutingdailydetail gdd ON pp.goodsid = gdd.goodsid
-                                                                      WHERE gdd.barcode = @BARCODE@
-                                                                        AND pp.begintime <= SYSDATE
-                                                                        AND pp.endtime > SYSDATE and pp.valueflag = 1) plans1 on plans1.goodsid = fp.goodsid and plans1.logoid = fp.logoid
-                                                          WHERE  fp.createtime >= plans1.begintime
-                                                            AND fp.createtime < plans1.endtime
-                                                            and fp.valueflag = 1
-                                                          GROUP BY fp.goodsid,fp.logoid) t
+                                                                            FROM tp_pm_production_plan pp
+                                                                            LEFT JOIN tp_pm_groutingdailydetail gdd ON pp.goodsid = gdd.goodsid  
+                                                                            WHERE gdd.barcode = @BARCODE@
+                                                                            AND pp.begintime <= SYSDATE
+                                                                            AND pp.endtime > SYSDATE AND pp.CONTROLRANGE = 1 AND pp.VALUEFLAG = 1 ) plans1 on plans1.goodsid = pd.goodsid and plans1.logoid = pd.logoid
+                                                                      WHERE  pd.createtime >= plans1.begintime
+                                                                      and pd.createtime < plans1.endtime
+                                                                      and pd.valueflag = 1 
+                                                                      and p.modeltype = '-5' 
+                                                                      and p.procedureid not in(126,152) 
+                                                                      AND NOT EXISTS (SELECT s.barcode
+                                                                          FROM tp_pm_logochangedrecord s
+                                                                          LEFT JOIN tp_pc_procedure p ON s.procedureid = p.procedureid
+                                                                         WHERE s.barcode = pd.barcode
+                                                                          AND  p.modeltype = '-5' 
+                                                                          and p.procedureid not in(126,152) 
+                                                                          AND  s.oldlogoid = pd.logoid
+                                                                          AND  s.oldlogoid <> s.newlogoid)  
+                                                                    GROUP BY pd.goodsid,pd.logoid) t
                                                    RIGHT JOIN (SELECT pp.goodsid,pp.logoid,pp.quantity
                                                                FROM tp_pm_production_plan pp
                                                                LEFT JOIN tp_pm_groutingdailydetail gdd ON pp.goodsid = gdd.goodsid
                                                               WHERE gdd.barcode = @BARCODE@
                                                                 AND pp.begintime <= SYSDATE
                                                                 AND pp.endtime > SYSDATE
-                                                                and pp.valueflag = 1) tt
+                                                                and pp.valueflag = 1 AND pp.CONTROLRANGE = 1) tt
                                                      ON t.logoid = tt.logoid
                                                   GROUP BY  t.goodsid,tt.goodsid,t.logoid,tt.logoid,tt.quantity ,t.changenum
                                                  ) linshi  ON linshi.logoid = l.logoid
@@ -174,58 +174,56 @@ public class GetLogoData : IHttpHandler, IReadOnlySessionState
                                                 ,case when t.changenum is null then  tt.quantity else tt.quantity - SUM(t.changenum) end as residuequantity 
                                                    FROM (SELECT ip.goodsid,ip.logoid,COUNT(distinct l.barcode) changenum
                                                            FROM tp_pm_logochangedrecord l
-                                                           right JOIN tp_pm_inproduction ip ON l.barcode = ip.barcode 
+                                                           right JOIN tp_pm_groutingdailydetail ip ON l.barcode = ip.barcode 
                                                            LEFT JOIN tp_pc_procedure p ON l.procedureid = p.procedureid
                                                            LEFT JOIN (SELECT pp.goodsid,pp.logoid,pp.quantity,gdd.materialcode,pp.begintime ,pp.endtime
                                                                        FROM tp_pm_production_plan pp
                                                                        LEFT JOIN tp_pm_groutingdailydetail gdd ON pp.goodsid = gdd.goodsid
                                                                       WHERE gdd.barcode = @BARCODE@
                                                                         AND pp.begintime <= SYSDATE
-                                                                        AND pp.endtime > SYSDATE and pp.valueflag = 1) plans  ON plans.goodsid = ip.goodsid AND plans.logoid =  ip.logoid
+                                                                        AND pp.endtime > SYSDATE and pp.valueflag = 1 AND pp.CONTROLRANGE = 1) plans  ON plans.goodsid = ip.goodsid AND plans.logoid =  ip.logoid
                                                           WHERE l.createtime >= plans.begintime
                                                             AND l.createtime < plans.endtime
                                                             AND ip.goodsid = @GOODSID@ 
                                                             and ip.logoid = l.newlogoid 
                                                             AND l.oldlogoid <> l.newlogoid
-                                                            AND (p.modeltype = '-5' OR p.procedureid IN (106,107, 78))
+                                                            AND p.modeltype = '-5' 
+                                                            AND p.procedureid not in(126,152) 
                                                             AND NOT EXISTS (SELECT s.barcode FROM tp_pm_scrapproduct s
                                                                   WHERE s.barcode = l.barcode AND s.valueflag = 1 AND s.createtime >= l.createtime)
-                                                            GROUP BY ip.goodsid,ip.logoid
-                                                         UNION ALL
-                                                         --队列中
-                                                         SELECT pf.goodsid ,pf.logoid ,SUM(pf.platenum - pf.outnum) changenum
-                                                           FROM tp_mst_packingform pf
-                                                           left join (SELECT pp.goodsid,pp.logoid,pp.quantity,gdd.materialcode,pp.begintime ,pp.endtime
-                                                                       FROM tp_pm_production_plan pp
-                                                                       LEFT JOIN tp_pm_groutingdailydetail gdd ON pp.goodsid = gdd.goodsid
-                                                                      WHERE gdd.barcode = @BARCODE@
-                                                                        AND pp.begintime <= SYSDATE
-                                                                        AND pp.endtime > SYSDATE and pp.valueflag = 1) plans1 on plans1.goodsid = pf.goodsid and plans1.logoid = pf.logoid
-                                                          WHERE pf.status in (0,1) AND pf.logoid > 0 AND pf.valueflag = 1 AND pf.goodsid = @GOODSID@
-                                                            AND pf.createtime >= plans1.begintime
-                                                            AND pf.createtime < plans1.endtime
-                                                          GROUP BY pf.goodsid,pf.logoid
+                                                            GROUP BY ip.goodsid,ip.logoid 
                                                           UNION ALL
-                                                         --产成品
-                                                         SELECT fp.goodsid ,fp.logoid ,COUNT(distinct fp.barcode) changenum
-                                                           FROM tp_pm_finishedproduct fp
+                                                          --生产数据该产品商标在装配环节保存的数量(装配环节没有变更商标) 
+                                                         SELECT  pd.goodsid ,pd.logoid ,COUNT(distinct pd.barcode) changenum
+                                                           FROM tp_pm_productiondata pd  
+                                                           LEFT JOIN tp_pc_procedure p ON pd.procedureid = p.procedureid 
                                                            left join (SELECT pp.goodsid,pp.logoid,pp.quantity,gdd.materialcode,pp.begintime ,pp.endtime
-                                                                       FROM tp_pm_production_plan pp
-                                                                       LEFT JOIN tp_pm_groutingdailydetail gdd ON pp.goodsid = gdd.goodsid
-                                                                      WHERE gdd.barcode = @BARCODE@
-                                                                        AND pp.begintime <= SYSDATE
-                                                                        AND pp.endtime > SYSDATE and pp.valueflag = 1) plans1 on plans1.goodsid = fp.goodsid and plans1.logoid = fp.logoid
-                                                          WHERE  fp.createtime >= plans1.begintime
-                                                            AND fp.createtime < plans1.endtime
-                                                            and fp.valueflag = 1
-                                                          GROUP BY fp.goodsid,fp.logoid) t
+                                                                            FROM tp_pm_production_plan pp
+                                                                            LEFT JOIN tp_pm_groutingdailydetail gdd ON pp.goodsid = gdd.goodsid  
+                                                                            WHERE gdd.barcode = @BARCODE@
+                                                                            AND pp.begintime <= SYSDATE
+                                                                            AND pp.endtime > SYSDATE AND pp.CONTROLRANGE = 1 AND pp.VALUEFLAG = 1 ) plans1 on plans1.goodsid = pd.goodsid and plans1.logoid = pd.logoid
+                                                                      WHERE  pd.createtime >= plans1.begintime
+                                                                      and pd.createtime < plans1.endtime
+                                                                      and pd.valueflag = 1 
+                                                                      and p.modeltype = '-5' 
+                                                                      and p.procedureid not in(126,152) 
+                                                                      AND NOT EXISTS (SELECT s.barcode
+                                                                          FROM tp_pm_logochangedrecord s
+                                                                          LEFT JOIN tp_pc_procedure p ON s.procedureid = p.procedureid
+                                                                         WHERE s.barcode = pd.barcode
+                                                                          AND  p.modeltype = '-5' 
+                                                                          and p.procedureid not in(126,152) 
+                                                                          AND  s.oldlogoid = pd.logoid
+                                                                          AND  s.oldlogoid <> s.newlogoid)  
+                                                                    GROUP BY pd.goodsid,pd.logoid) t
                                                    RIGHT JOIN (SELECT pp.goodsid,pp.logoid,pp.quantity
                                                                FROM tp_pm_production_plan pp
                                                                LEFT JOIN tp_pm_groutingdailydetail gdd ON pp.goodsid = gdd.goodsid
                                                               WHERE gdd.barcode = @BARCODE@
                                                                 AND pp.begintime <= SYSDATE
                                                                 AND pp.endtime > SYSDATE
-                                                                and pp.valueflag = 1) tt
+                                                                and pp.valueflag = 1 AND pp.CONTROLRANGE = 1) tt
                                                      ON t.logoid = tt.logoid
                                                    GROUP BY  t.goodsid,tt.goodsid,t.logoid,tt.logoid,tt.quantity ,t.changenum
                                                  ) linshi  ON linshi.logoid = l.logoid

+ 1 - 0
wwwroot/main/Assemble/api/GetProductionPlan.ashx

@@ -37,6 +37,7 @@ public class GetProductionPlan : IHttpHandler, IReadOnlySessionState
                    WHERE PP.VALUEFLAG = 1
                    AND PP.BEGINTIME <= SYSDATE
                    AND PP.ENDTIME >= SYSDATE
+                   AND PP.CONTROLRANGE = 1
                    AND PP.ACCOUNTID = @ACCOUNTID@
                 ",
                 new CDAParameter("ACCOUNTID", 1)