Redeem 1 năm trước cách đây
mục cha
commit
db32f5f20b

+ 1 - 1
pom.xml

@@ -6,7 +6,7 @@
 
     <groupId>org.example</groupId>
     <artifactId>dil-wms-api</artifactId>
-    <version>1.6</version>
+    <version>1.8</version>
 
     <parent>
         <groupId>org.springframework.boot</groupId>

+ 10 - 0
src/main/java/com/steerinfo/dil/controller/OyeResultController.java

@@ -238,4 +238,14 @@ public class OyeResultController extends BaseRESTfulController {
     }
 
 
+    @ApiOperation("更新单重")
+    @PostMapping("updateSingleWeight")
+    public RESTfulResult updateSingleWeight() {
+        oyeResultService.updateSingleWeight();
+        return success();
+    }
+
+
+
+
 }

+ 5 - 0
src/main/java/com/steerinfo/dil/mapper/OyeRealtimeInventoryMapper.java

@@ -34,4 +34,9 @@ public interface OyeRealtimeInventoryMapper extends IBaseMapper<OyeRealtimeInven
 
     String selectCompareValue();
 
+    List<BigDecimal> getInventoryIds();
+
+
+    BigDecimal getSingleWeightByOIR(BigDecimal inventoryId);
+
 }

+ 25 - 1
src/main/java/com/steerinfo/dil/service/impl/OyeResultServiceImpl.java

@@ -330,6 +330,7 @@ public class OyeResultServiceImpl implements IOyeResultService {
         // 创建出库需要的数据;
         Map<String, Object> jiChuMap = new HashMap<>();
         jiChuMap.put("inventoryId",map.get("inventoryId"));
+        BigDecimal newInventoryId = DataChange.dataToBigDecimal(map.get("newInventoryId"));
         OyeOutboundResult oyeOutboundResult = new OyeOutboundResult();
         oyeOutboundResult.setId(oyeOutboundResultMapper.getResultId());
         BigDecimal materialId = DataChange.dataToBigDecimal(map.get("materialId"));
@@ -383,7 +384,15 @@ public class OyeResultServiceImpl implements IOyeResultService {
         OyeRealtimeInventory oyeRealtimeInventoryInsert = null;
         OyeRealtimeInventory oyeRealtimeInventoryUpdate = null;
         //根据区域,客户,物资,单重,米数,仓库,库区查询实时库存在不在
-        BigDecimal inventoryId = oyeRealtimeInventoryMapper.getInventoryId(map);
+        BigDecimal inventoryId = null ;
+        if(newInventoryId == null || newInventoryId.intValue() == 0) {
+            inventoryId = oyeRealtimeInventoryMapper.getInventoryId(map);
+        }else{
+            inventoryId = newInventoryId;
+        }
+        if (inventoryId != null && inventoryId.compareTo(DataChange.dataToBigDecimal(map.get("inventoryId"))) == 0) {
+            throw new Exception("库存ID一致无法划分");
+        }
         if (inventoryId == null) {
             //新增实时库存
             map.put("flag",1);
@@ -412,4 +421,19 @@ public class OyeResultServiceImpl implements IOyeResultService {
     }
 
 
+    public int updateSingleWeight() {
+        //
+        //查找实时库存里面盘螺的
+        List<BigDecimal> inventoryIds = oyeRealtimeInventoryMapper.getInventoryIds();
+        //获取实时库存的理重
+        for(BigDecimal inventoryId : inventoryIds) {
+            //
+            BigDecimal  singleWeight = oyeRealtimeInventoryMapper.getSingleWeightByOIR(inventoryId);
+            //
+            OyeRealtimeInventory oyeRealtimeInventory = oyeRealtimeInventoryMapper.selectByPrimaryKey(inventoryId);
+            oyeRealtimeInventory.setSingleWeight(singleWeight);
+            oyeRealtimeInventoryMapper.updateByPrimaryKeySelective(oyeRealtimeInventory);
+        }
+        return 1;
+    }
 }

+ 15 - 35
src/main/resources/com/steerinfo/dil/mapper/OyeRealtimeInventoryMapper.xml

@@ -674,22 +674,7 @@
   <!-- 友情提示!!!-->
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
   <select id="getOyeRealTimeResult" resultType="java.util.Map">
-    SELECT
-    TT."materialId" "materialId",
-    TT."meter" "meter",
-    TT."singleWeight" "singleWeight",
-    TT."consigneeName" "consigneeName",
-    TT."materialModel" "materialModel",
-    TT."materialSpe" "materialSpe",
-    TT."materialName" "materialName",
-    TT."consigneeId" "consigneeId",
-    TT."inboundArea" "inboundArea",
-    TT."inboundWarehouse" "inboundWarehouse",
-    TT."saleArea" "saleArea",
-    SUM(TT."materialNumber") "materialNumber",
-    SUM(TT."theoryWeight") "theoryWeight",
-    SUM(TT."netWeight") "netWeight"
-    FROM (
+
     SELECT ORI.SINGLE_WEIGHT "singleWeight",
     ORI.METER    "meter",
     ORI.MATERIAL_ID  "materialId",
@@ -711,9 +696,6 @@
     LEFT JOIN RMS_MATERIAL RM on ORI.MATERIAL_ID = RM.MATERIAL_ID
     LEFT JOIN RMS_CONSIGNEE RC on ORI.CONSIGNEE_ID = RC.CONSIGNEE_ID
     <where>
-      <if test="1 == 1">
-        and  NVL(ORI.MATERIAL_NUMBER,0) > 0
-      </if>
       <if test="startDate != null">
         and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= ORI.INSERT_TIME
         and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= ORI.INSERT_TIME
@@ -755,18 +737,8 @@
         </foreach>
       </if>
     </where>
-    ORDER BY ORI.INSERT_TIME DESC) TT
-    GROUP BY TT."materialId",
-             TT."meter",
-             TT."singleWeight",
-             TT."consigneeName",
-             TT."materialModel",
-             TT."materialSpe",
-             TT."materialName",
-             TT."consigneeId",
-             TT."inboundArea",
-             TT."inboundWarehouse",
-             TT."saleArea"
+    ORDER BY ORI.INSERT_TIME DESC
+
   </select>
   <select id="getInventoryId" resultType="java.math.BigDecimal" parameterType="java.util.Map">
     SELECT ORI.INVENTORY_ID FROM OYE_REALTIME_INVENTORY ORI
@@ -983,10 +955,7 @@
   </select>
   <select id="getTheoryWeight" resultType="java.math.BigDecimal" parameterType="java.math.BigDecimal">
     SELECT
-    CASE WHEN ASM.IS_POUND_SALE = 0
-    THEN TWB.BATCH_NET_WEIGHT
-    ELSE ASM.MATERIAL_WEIGHT
-    END
+    ASM.MATERIAL_WEIGHT
     FROM AMS_SALE_MATERIAL ASM
     LEFT JOIN TMSTRUCK_WEIGHT_BATCH TWB
     ON TWB.WEIGHT_BATCH_ID = ASM.WEIGHT_BATCH_ID
@@ -1000,5 +969,16 @@
     SELECT VERSION_VALUE FROM DIL_VERSION
     WHERE VERSION_ID = 16
   </select>
+  <select id="getInventoryIds" resultType="java.math.BigDecimal">
+    select ori.INVENTORY_ID from OYE_REALTIME_INVENTORY ori
+                    left join RMS_MATERIAL rm
+                              on rm.MATERIAL_ID = ori.MATERIAL_ID
+    where  rm.MATERIAL_NAME like '%盘螺%'
+      and ori.MATERIAL_NUMBER > 0
+  </select>
+  <select id="getSingleWeightByOIR" resultType="java.math.BigDecimal">
+    SELECT OIR.SINGLE_WEIGHT FROM OYE_INBOUND_RESULT OIR
+    WHERE OIR.INVENTORY_ID = #{inventoryId}
+  </select>
 
 </mapper>