xiongchao 3 年之前
父節點
當前提交
dab4223dc7

+ 9 - 1
platform-dao/src/main/java/com/platform/dao/dto/sqarepartmanage/SparePartInfoDTO.java

@@ -2,6 +2,7 @@ package com.platform.dao.dto.sqarepartmanage;
 
 import com.platform.common.bean.BaseDTO;
 import com.platform.common.validation.group.UpdateGroup;
+import com.platform.dao.dto.sb.SbModelSpareBomDTO;
 import com.platform.dao.entity.upms.SysFile;
 import com.platform.office.annotation.Excel;
 import lombok.Data;
@@ -26,7 +27,10 @@ import java.util.List;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class SparePartInfoDTO extends BaseDTO implements Serializable {
-
+    /**
+     * 指标参数
+     */
+    private String params;
     /**
    * 主键
    */
@@ -245,4 +249,8 @@ public class SparePartInfoDTO extends BaseDTO implements Serializable {
      */
     private List<SysFile> applicationFileList;
 
+    /**
+     * 设备列表
+     */
+    private List<SbModelSpareBomDTO> detailList;
 }

+ 1 - 1
platform-dao/src/main/java/com/platform/dao/entity/sb/SbInfo.java

@@ -58,7 +58,7 @@ public class SbInfo implements Serializable {
      */
     private String zz;
     /**
-     * 车牌号/房间
+     * 车牌号/使用位置
      */
     private String cph;
     /**

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/entity/sqarepartmanage/SparePartInfo.java

@@ -152,6 +152,10 @@ public class SparePartInfo implements Serializable{
      * 采购供应商
      */
     private String supplierId;
+    /**
+     * 指标参数
+     */
+    private String params;
     /**
      * 备注
      */

+ 1 - 0
platform-dao/src/main/java/com/platform/dao/mapper/sb/SbModelSpareBomMapper.java

@@ -33,4 +33,5 @@ public interface SbModelSpareBomMapper extends MyMapper<SbModelSpareBom> {
     List<SbModelSpareBomVO> selectExportList(SparePartInfoDTO sparePartInfoDTO);
 
     void updateBatch(List<SbModelSpareBom> sbModelSpareBomList);
+    void updateBatchAll(List<SbModelSpareBom> sbModelSpareBomList);
 }

+ 4 - 4
platform-dao/src/main/java/com/platform/dao/vo/export/sb/ExportSbInfoVO.java

@@ -71,12 +71,12 @@ public class ExportSbInfoVO implements Serializable {
     @Excel(name = "大小/尺寸", orderNum = "10")
     private String zz;
     /**
-     * 房间
+     * 使用位置
      */
-    @Excel(name = "房间", orderNum = "11")
+    @Excel(name = "使用位置", orderNum = "11")
     private String cph;
     /**
-     * 房间
+     * 使用位置
      */
     @Excel(name = "系列号(出厂编号)", orderNum = "12")
     private String zzh;
@@ -88,7 +88,7 @@ public class ExportSbInfoVO implements Serializable {
     /**
      * 使用施工组名称
      */
-    @Excel(name = "管理人名称", orderNum = "14")
+    @Excel(name = "使用机台", orderNum = "14")
     private String saveUserName;
     /**
      * 维修人

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/vo/query/sparepartmanage/SparePartInfoVO.java

@@ -27,6 +27,10 @@ import java.util.List;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class SparePartInfoVO extends BaseVO implements Serializable {
+    /**
+     * 指标参数
+     */
+    private String params;
     /**
      * 使用周期:月
      */

+ 12 - 0
platform-dao/src/main/resources/mapper/sb/SbModelSpareBomMapper.xml

@@ -53,4 +53,16 @@
             where id = #{item.id}
         </foreach>
     </update>
+
+    <update id="updateBatchAll" parameterType="java.util.List">
+        <foreach collection="list" item="item" index="index" open="" close="" separator=";">
+            update t_sb_model_spare_bom
+            <set>
+                period = #{item.period},
+                period_type = #{item.periodType},
+                num = #{item.num}
+            </set>
+            where id = #{item.id}
+        </foreach>
+    </update>
 </mapper>

+ 1 - 0
platform-dao/src/main/resources/mapper/sqarepartmanage/SparePartInfoMapper.xml

@@ -36,6 +36,7 @@
         <result column="yt" jdbcType="INTEGER" property="yt"/>
         <result column="purchase_period" jdbcType="DATE" property="purchasePeriod"/>
         <result column="use_period" jdbcType="DATE" property="usePeriod"/>
+        <result column="params" jdbcType="VARCHAR" property="params"/>
         <result column="remark" jdbcType="VARCHAR" property="remark"/>
         <result column="created_user_id" jdbcType="VARCHAR" property="createdUserId"/>
         <result column="update_user_id" jdbcType="VARCHAR" property="updateUserId"/>

+ 39 - 46
platform-service/src/main/java/com/platform/service/sqarepartmanage/impl/SparePartInfoServiceImpl.java

@@ -11,12 +11,15 @@ import com.platform.common.util.*;
 import com.platform.dao.bean.MyPage;
 import com.platform.dao.dto.repair.RepairApplicationFormDTO;
 import com.platform.dao.dto.sb.SbInfoDTO;
+import com.platform.dao.dto.sb.SbModelSpareBomDTO;
 import com.platform.dao.dto.sqarepartmanage.SparePartInfoDTO;
+import com.platform.dao.dto.store.InStoreDetailDTO;
 import com.platform.dao.entity.sb.SbInfo;
 import com.platform.dao.entity.sb.SbModel;
 import com.platform.dao.entity.sb.SbModelSpareBom;
 import com.platform.dao.entity.sqarepartmanage.SparePartInfo;
 import com.platform.dao.entity.sqarepartmanage.SpareType;
+import com.platform.dao.entity.store.InStoreDetail;
 import com.platform.dao.entity.store.SpareStore;
 import com.platform.dao.entity.upms.SysDept;
 import com.platform.dao.entity.upms.SysFile;
@@ -248,6 +251,7 @@ public class SparePartInfoServiceImpl extends BaseServiceImpl<SparePartInfoMappe
             }
         });
         model.setApplicationFileList(applicationFileList);
+
         return model;
     }
 
@@ -351,6 +355,15 @@ public class SparePartInfoServiceImpl extends BaseServiceImpl<SparePartInfoMappe
             spareStoreMapper.insert(spareStore);
         }
 
+        // 插入设备关联
+        List<SbModelSpareBomDTO> detailList = model.getDetailList();
+        if(!CollectionUtils.isEmpty(detailList)){
+            for(SbModelSpareBomDTO detail:detailList) {
+                detail.setSpareId(model.getId());
+                detail.setId(IdGeneratorUtils.getObjectId());
+            }
+            sbModelSpareBomMapper.insertListforComplex(BeanConverterUtil.copyListProperties(detailList, SbModelSpareBom.class));
+        }
         return super.saveModelHaveCreateInfo(model);
     }
 
@@ -399,55 +412,35 @@ public class SparePartInfoServiceImpl extends BaseServiceImpl<SparePartInfoMappe
         }
         this.saveFile(model);
 
-       /* if(model.getInitStock() == null){
-            model.setInitStock(new BigDecimal(0));
-        }*/
-        /**
-         * 1:已经存在库存,则判断数量是否一致,
-         *  1.1一致则不变,
-         *  1.2否则则要变更初始数量,并更新当前数量,当前数量=当前数量-旧初始数量+新初始数量
-         * 2:不存在库存,则新建
-         */
-        // 如果初始化数量有了,就需要更新库存
-        /*if(model.getInitStock() != null){
-            Weekend<SpareStore> weekendSpareStore = new Weekend<>(SpareStore.class);
-            weekendSpareStore.weekendCriteria().andEqualTo(SpareStore::getSpareId, model.getId())
-                    .andEqualTo(SpareStore::getStoreId, model.getStoreId());
-            SpareStore spareStore = spareStoreMapper.selectOneByExample(weekendSpareStore);
-             if(spareStore != null){
-                if(spareStore.getInitNum() != null){
-                    if(spareStore.getInitNum().compareTo(model.getInitStock()) !=0){
-                        spareStore.setNum(spareStore.getNum().subtract(spareStore.getInitNum()).add(model.getInitStock()) );
-                        spareStore.setInitNum(model.getInitStock());
-                        spareStore.setUpdateTime(time);
-                        spareStore.setUpdateUserId(userInfo.getUserId());
-                        spareStoreMapper.updateByPrimaryKey(spareStore);
-                    }
+        // 插入设备关联
+        List<SbModelSpareBomDTO> detailList = model.getDetailList();
+        List<SbModelSpareBomDTO> addList = new ArrayList<SbModelSpareBomDTO>();
+        List<SbModelSpareBomDTO> updateList = new ArrayList<SbModelSpareBomDTO>();
+
+        // 先删后插,前端删除的不存在与ids里面,说明被删掉了,需要删除
+        Weekend<SbModelSpareBom> detailWeekend = new Weekend<>(SbModelSpareBom.class);
+        List<String> ids = detailList.stream().map(SbModelSpareBomDTO::getId).collect(Collectors.toList());
+        detailWeekend.weekendCriteria().andNotIn(SbModelSpareBom::getId, ids);
+        sbModelSpareBomMapper.deleteByExample(detailWeekend);
+
+        // 新增与更新
+        if(!CollectionUtils.isEmpty(detailList)){
+            for(SbModelSpareBomDTO detail:detailList) {
+                if(StringUtils.isBlank(detail.getId())){
+                    detail.setSpareId(model.getId());
+                    detail.setId(IdGeneratorUtils.getObjectId());
+                    addList.add(detail);
                 }else{
-                    spareStore.setNum(model.getInitStock());
-                    spareStore.setInitNum(model.getInitStock());
-                    spareStore.setUpdateTime(time);
-                    spareStore.setUpdateUserId(userInfo.getUserId());
-                    spareStoreMapper.updateByPrimaryKey(spareStore);
+                    updateList.add(detail);
                 }
-            }else{
-                 spareStore = new SpareStore();
-                 spareStore.setSpareId(model.getId());
-                 spareStore.setId(IdGeneratorUtils.getObjectId());
-                 spareStore.setStoreId("9");
-                 BigDecimal price = model.getInitialValue();
-                 spareStore.setPrice(model.getInitialValue());
-                 spareStore.setNum(model.getInitStock() );
-                 spareStore.setInitNum(model.getInitStock() );
-                 spareStore.setInitPrice(model.getInitialValue());
-                 spareStore.setInitPurchasePrice(model.getInitialValue());
-                 spareStore.setCreatedTime(time);
-                 spareStore.setCreatedUserId(userInfo.getUserId());
-                 spareStore.setUpdateTime(time);
-                 spareStore.setUpdateUserId(userInfo.getUserId());
-                 spareStoreMapper.insert(spareStore);
             }
-        }*/
+            if(!CollectionUtils.isEmpty(addList)){
+                sbModelSpareBomMapper.insertListforComplex(BeanConverterUtil.copyListProperties(addList, SbModelSpareBom.class));
+            }
+            if(!CollectionUtils.isEmpty(updateList)){
+                sbModelSpareBomMapper.updateBatchAll(BeanConverterUtil.copyListProperties(updateList, SbModelSpareBom.class));
+            }
+        }
         super.modModelByDTO(model);
     }
     private void saveFile(SparePartInfoDTO model) {