HUJIANGUO 3 vuotta sitten
vanhempi
commit
f665f2171d

+ 22 - 4
src/main/java/com/steerinfo/dil/controller/AmstruckPurplanController.java

@@ -187,7 +187,9 @@ public class AmstruckPurplanController extends BaseRESTfulController {
                                                Integer pageNum,
                                                Integer pageSize,
                                                Integer planId,
-                                               Integer status,String con){
+                                               Integer status,
+                                               Integer planStatus,
+                                               String con){
         int count = 0;
         if(planId != null){
             mapValue.put("planId", planId);
@@ -209,7 +211,12 @@ public class AmstruckPurplanController extends BaseRESTfulController {
         //如果有条件查询则跳过初始化,和创建索引
         if(mapValue.size() == count){
             //将查询结果存入索引中
-            allPlan = amstruckPurplanMaterialService.getDecomposedPlan(mapValue);
+            if (planStatus != 0) {
+                allPlan = amstruckPurplanMaterialService.getDecomposedPlan(mapValue);
+            }
+            else {
+                allPlan = amstruckPurplanMaterialService.getUnStartDecomposedPlan(mapValue);
+            }
             Map<String, Object> map = new HashMap<>();
             //添加索引
             map.put("index","get_decomposed_list");
@@ -222,11 +229,22 @@ public class AmstruckPurplanController extends BaseRESTfulController {
             allPlan.remove(allPlan.size()-1);
         }
         if(allPlan == null) {
-            allPlan = amstruckPurplanMaterialService.getDecomposedPlan(mapValue);
+            if (planStatus != 0) {
+                allPlan = amstruckPurplanMaterialService.getDecomposedPlan(mapValue);
+            }
+            else {
+                allPlan = amstruckPurplanMaterialService.getUnStartDecomposedPlan(mapValue);
+            }
         }
         PageHelper.startPage(pageNum,pageSize);
         //分页数据
-        List<Map<String, Object>> plan = amstruckPurplanMaterialService.getDecomposedPlan(mapValue);
+        List<Map<String, Object>> plan = null;
+        if (planStatus != 0) {
+            plan = amstruckPurplanMaterialService.getDecomposedPlan(mapValue);
+        }
+        else {
+            plan = amstruckPurplanMaterialService.getUnStartDecomposedPlan(mapValue);
+        }
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allPlan,plan);
         return success(pageList);
     }

+ 3 - 0
src/main/java/com/steerinfo/dil/mapper/AmstruckPurplanMaterialMapper.java

@@ -17,6 +17,9 @@ public interface AmstruckPurplanMaterialMapper extends IBaseMapper<AmstruckPurpl
     //通过Id查询运输计划  包含分解信息  未分配、已分配
     List<Map<String, Object>> getDecomposedPlan(Map<String, Object> map);
 
+    // 查询未分配
+    List<Map<String, Object>> getUnStartDecomposedPlan(Map<String, Object> map);
+
     //通过Id查询已分配重量、未分配重量
     List<Map<String, Object>> getWeight(Integer planId);
 

+ 2 - 0
src/main/java/com/steerinfo/dil/service/IAmstruckPurplanMaterialService.java

@@ -20,6 +20,8 @@ public interface IAmstruckPurplanMaterialService{
     //查询所有已分解计划
     List<Map<String, Object>> getDecomposedPlan(Map<String, Object> map);
 
+    List<Map<String, Object>> getUnStartDecomposedPlan(Map<String, Object> map);
+
     //用于更改计划子表方法
     void updateMaterial(Map<String, Object> map);
 }

+ 5 - 0
src/main/java/com/steerinfo/dil/service/impl/AmstruckPurplanMaterialServiceImpl.java

@@ -36,6 +36,11 @@ public class AmstruckPurplanMaterialServiceImpl implements IAmstruckPurplanMater
         return amstruckPurplanMaterialMapper.getDecomposedPlan(map);
     }
 
+    @Override
+    public List<Map<String, Object>> getUnStartDecomposedPlan(Map<String, Object> map) {
+        return amstruckPurplanMaterialMapper.getUnStartDecomposedPlan(map);
+    }
+
     /**
      * 更改计划子表重量
      * @param map

+ 1 - 1
src/main/resources/com/steerinfo/dil/mapper/AmstruckPurplanMapper.xml

@@ -485,7 +485,7 @@
         select
         *
         from (
-        select
+        select DISTINCT
             AP.PLAN_ID "planId",
             APO.PURCHASE_ORDER_NO "purchaseOrderNo",
             DB.RESULT_FOREIGN_SHIP_NAME "resultForeignShipName",

+ 119 - 3
src/main/resources/com/steerinfo/dil/mapper/AmstruckPurplanMaterialMapper.xml

@@ -404,7 +404,7 @@
         select
         *
         from (
-        select
+        select DISTINCT
         APO.PURCHASE_ORDER_ID "purchaseOrderId",
         APM.PURPLAN_PLAN_MATERIAL_ID "purplanPlanMaterialId",
         APO.PURCHASE_ORDER_NO "purchaseOrderNo",
@@ -431,14 +431,130 @@
         on RM.MATERIAL_ID = DB.MATERIAL_ID
         left join RMS_CARRIER RC
         on AP.CARRIER_ID = RC.CARRIER_ID
-        <where>
+        where APM.MATERIAL_ALLOCATED_WEIGHT = AP.MATERIAL_TOTAL_WEIGHT
             <if test="planId != null">
-                AP.PLAN_ID = #{planId}
+                and AP.PLAN_ID = #{planId}
             </if>
             <if test="planStatus != null">
                 and AP.PLAN_STATUS = #{planStatus}
             </if>
+        )
+        <where>
+            <if test="purplanPlanMaterialId != null">
+
+                <foreach collection="purplanPlanMaterialId" item="item" open="(" separator="or" close=")">
+                    "purplanPlanMaterialId" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="purchaseOrderNo != null">
+                and
+                <foreach collection="purchaseOrderNo" item="item" open="(" separator="or" close=")">
+                    "purchaseOrderNo" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="resultForeignShipName != null">
+                and
+                <foreach collection="resultForeignShipName" item="item" open="(" separator="or" close=")">
+                    "resultForeignShipName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="materialName != null">
+                and
+                <foreach collection="materialName" item="item" open="(" separator="or" close=")">
+                    "materialName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="planNo != null">
+                and
+                <foreach collection="planNo" item="item" open="(" separator="or" close=")">
+                    "planNo" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="carrierName != null">
+                and
+                <foreach collection="carrierName" item="item" open="(" separator="or" close=")">
+                    "carrierName" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="materialTotalWeight != null">
+                and
+                <foreach collection="materialTotalWeight" item="item" open="(" separator="or" close=")">
+                    "materialTotalWeight" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="planTruckTime != null">
+                and
+                <foreach collection="planTruckTime" item="item" open="(" separator="or" close=")">
+                    "planTruckTime" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="lineDesc != null">
+                and
+                <foreach collection="lineDesc" item="item" open="(" separator="or" close=")">
+                    "lineDesc" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="planIncomingTime != null">
+                and
+                <foreach collection="planIncomingTime" item="item" open="(" separator="or" close=")">
+                    "planIncomingTime" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="materialAllocatedWeight != null">
+                and
+                <foreach collection="materialAllocatedWeight" item="item" open="(" separator="or" close=")">
+                    "materialAllocatedWeight" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="materialUnallocatedWeight != null">
+                and
+                <foreach collection="materialUnallocatedWeight" item="item" open="(" separator="or" close=")">
+                    "materialUnallocatedWeight" like '%${item}%'
+                </foreach>
+            </if>
         </where>
+        <include refid="orderBy"></include>
+    </select>
+
+    <!--查询分解计划 -->
+    <select id="getUnStartDecomposedPlan" parameterType="java.util.Map" resultType="java.util.LinkedHashMap">
+        select
+        *
+        from (
+        select DISTINCT
+        APO.PURCHASE_ORDER_ID "purchaseOrderId",
+        APM.PURPLAN_PLAN_MATERIAL_ID "purplanPlanMaterialId",
+        APO.PURCHASE_ORDER_NO "purchaseOrderNo",
+        DB.RESULT_FOREIGN_SHIP_NAME "resultForeignShipName",
+        RM.MATERIAL_NAME "materialName",
+        AP.PLAN_NO "planNo",
+        RC.CARRIER_NAME "carrierName",
+        AP.MATERIAL_TOTAL_WEIGHT "materialTotalWeight",
+        APM.MATERIAL_ALLOCATED_WEIGHT "materialAllocatedWeight",
+        APM.MATERIAL_UNALLOCATED_WEIGHT "materialUnallocatedWeight",
+        to_char(AP.PLAN_TRUCK_TIME, 'yyyy-mm-dd') "planTruckTime",
+        RM.MATERIAL_ID "materialId",
+        to_char(AP.PLAN_INCOMING_TIME, 'yyyy-mm-dd') "planIncomingTime",
+        AP.PLAN_ID "planId",
+        AP.INSERT_TIME "insertTime"
+        from AMSTRUCK_PURPLAN AP
+        left join AMSTRUCK_PURPLAN_MATERIAL APM
+        on AP.PLAN_ID = APM.PLAN_ID
+        left join AMS_PURCHASE_ORDER APO
+        on AP.BATCH_ID = APO.BATCH_ID
+        left join DIL_BATCH DB
+        on AP.BATCH_ID = DB.BATCH_ID
+        left join RMS_MATERIAL RM
+        on RM.MATERIAL_ID = DB.MATERIAL_ID
+        left join RMS_CARRIER RC
+        on AP.CARRIER_ID = RC.CARRIER_ID
+        where APM.MATERIAL_ALLOCATED_WEIGHT <![CDATA[<]]> AP.MATERIAL_TOTAL_WEIGHT
+        <if test="planId != null">
+            and AP.PLAN_ID = #{planId}
+        </if>
+        <if test="planStatus != null">
+            and AP.PLAN_STATUS = #{planStatus}
+        </if>
         )
         <where>
             <if test="purplanPlanMaterialId != null">