浏览代码

问题修改

zhs 2 年之前
父节点
当前提交
8e5517eec6

+ 2 - 0
src/main/java/com/tld/mapper/DeliveryMapper.java

@@ -59,4 +59,6 @@ public interface DeliveryMapper {
     String getScanNumDelivery(AskGoods askGoods);
 
     String getAllScanNumDelivery(AskGoods askGoods);
+
+    List<Map<String, Object>> getEquipmentSoftware(String code);
 }

+ 31 - 0
src/main/java/com/tld/service/impl/DeliveryServiceImpl.java

@@ -199,6 +199,37 @@ public class DeliveryServiceImpl implements DeliveryService {
                     deliveryMapper.addRemovalHalfProduct(delivery1); //流水录入
                 }
                 askGoodsMapper.deleteVirtual(askGoods.getId());//删除已出虚拟表库存
+
+                if(materialClass.getPartType().equals("产成品")){
+                    //查询设备绑定的
+                    List<Map<String, Object>> list1 = deliveryMapper.getEquipmentSoftware(materialClass.getCode());
+                    //如果设备绑定软件基础信息有数据则继续往下执行
+                    if(list.size() != 0){
+                        Map<String, Object> map1 = list1.get(0);
+                        Delivery delivery1 = new Delivery()
+                                .setDeliveryId(deliveryId)
+                                .setMaterialId(map1.get("materialId").toString())
+                                .setWbs(list.get(0).getWbs());
+                        //查询软件类销售出库单据
+                        List<Delivery> list2 = deliveryMapper.getDelivery(delivery1);
+                        //如果单据存在  则继续往下执行
+                        if(list2.size() != 0){
+                            //修改软件类单据出库数量
+                            deliveryMapper.updateDelivery(map1.get("materialId").toString(), askGoods.getNum(), deliveryId, list2.get(0).getEntryNumber());
+                            //存入返回GS信息表内
+                            ReturRemoval returRemoval = new ReturRemoval()
+                                    .setMaterialId(map1.get("materialId").toString())
+                                    .setDocumentId(deliveryId)
+                                    .setWbs(list.get(0).getWbs())
+                                    .setNum(askGoods.getNum())
+                                    .setEntryNumber(list.get(0).getEntryNumber())
+                                    .setDocumentPointsId(list.get(0).getId())
+                                    .setStorageLocationCode(askGoods.getStorageLocationCode());
+                            askGoodsMapper.addReturnGsRemoval(returRemoval);//新增返回gs数据子表信息
+                        }
+                    }
+                }
+                //存入返回GS信息表内
                 ReturRemoval returRemoval = new ReturRemoval()
                         .setMaterialId(materialClass.getTldId())
                         .setDocumentId(deliveryId)

+ 13 - 0
src/main/resources/mapper/DeliveryMapper.xml

@@ -40,6 +40,9 @@
         <if test="entryNumber != null and entryNumber != ''">
             and a.entry_number = #{entryNumber}
         </if>
+        <if test="wbs != null and wbs != ''">
+            and a.wbs = #{wbs}
+        </if>
     </select>
     <!-- 查询所有产成品库位 -->
     <select id="getStorageLocationCodeList" resultType="String">
@@ -315,4 +318,14 @@
             and serial = #{serial}
         </if>
     </select>
+    <!-- 查询销售单绑定的软件类 -->
+    <select id="getEquipmentSoftware" resultType="java.util.Map">
+        select
+            a.equipment_code as equipmentCode
+            a.software_code as softwareCode,
+            b.tld_id as materialId
+        from tld_equipment_binding_software a
+        join tld_material b on a.equipment_code = b.code
+        where a.equipment_code = #{code}
+    </select>
 </mapper>