guarantee-lsq 3 rokov pred
rodič
commit
264b436167

+ 38 - 4
platform-service/src/main/java/com/platform/service/store/impl/PurchaseStoreFormServiceImpl.java

@@ -16,10 +16,7 @@ import com.platform.dao.entity.sqarepartmanage.SparePartInfo;
 import com.platform.dao.entity.store.*;
 import com.platform.dao.enums.*;
 import com.platform.dao.mapper.sqarepartmanage.SparePartInfoMapper;
-import com.platform.dao.mapper.store.InStoreFormMapper;
-import com.platform.dao.mapper.store.PurchaseStoreFormDetailMapper;
-import com.platform.dao.mapper.store.PurchaseStoreFormMapper;
-import com.platform.dao.mapper.store.SpareStoreMapper;
+import com.platform.dao.mapper.store.*;
 import com.platform.dao.vo.query.store.PurchaseStoreFormVO;
 import com.platform.service.base.impl.BaseServiceImpl;
 import com.platform.service.store.PurchaseStoreFormService;
@@ -33,6 +30,7 @@ import tk.mybatis.mapper.weekend.Weekend;
 import tk.mybatis.mapper.weekend.WeekendCriteria;
 
 import java.time.LocalDateTime;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -50,6 +48,7 @@ public class PurchaseStoreFormServiceImpl extends BaseServiceImpl<PurchaseStoreF
     private final SparePartInfoMapper sparePartInfoMapper;
     private final StoreService storeService;
     private final InStoreFormMapper inStoreFormMapper;
+    private final InStoreDetailMapper inStoreDetailMapper;
     @Override
     public int batchDelete(List<String> ids) {
         Weekend<PurchaseStoreForm> weekend = new Weekend<>(PurchaseStoreForm.class);
@@ -152,6 +151,13 @@ public class PurchaseStoreFormServiceImpl extends BaseServiceImpl<PurchaseStoreF
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void transferInStoreForm(String id) {
+        PurchaseStoreFormDetail detail = new PurchaseStoreFormDetail();
+        detail.setPurchaseStoreFormId(id);
+        detail.setDeleteFlag(0);
+        List<PurchaseStoreFormDetail> list = purchaseStoreFormDetailMapper.select(detail);
+        if(list == null || list.size() == 0){
+            throw new DeniedException("采购单中没有数据");
+        }
         PurchaseStoreForm form = mapper.selectByPrimaryKey(id);
         UserInfo userInfo = SecurityUtils.getUserInfo();
         InStoreForm model = new InStoreForm();
@@ -177,7 +183,11 @@ public class PurchaseStoreFormServiceImpl extends BaseServiceImpl<PurchaseStoreF
         }
         model.setStatus(InStoreStatusEnum.NOT_EXECUTE.getValue());
         model.setId(IdGeneratorUtils.getObjectId());
+        String inId = model.getId(); // 入库单的ID
+        String inNo = model.getInNo();
         inStoreFormMapper.insertSelective(model);
+        // 存入明细
+        saveDetails(inId,inNo,list,form.getSpareStoreId());
         // 回写采购入库单状态
         PurchaseStoreForm formUpd = new PurchaseStoreForm();
         formUpd.setId(id);
@@ -188,6 +198,30 @@ public class PurchaseStoreFormServiceImpl extends BaseServiceImpl<PurchaseStoreF
         mapper.updateByPrimaryKeySelective(formUpd);
     }
 
+    /**
+     * 存入明细
+     * @param inId
+     */
+    private void saveDetails(String inId,String inNo,List<PurchaseStoreFormDetail> list,String storeId){
+        List<InStoreDetail> detailList = new ArrayList<>();
+        for(PurchaseStoreFormDetail inDetail : list){
+            InStoreDetail detail = new InStoreDetail();
+            detail.setId(IdGeneratorUtils.getObjectId());
+            detail.setInId(inId);
+            detail.setInNo(inNo);
+            detail.setStoreId(storeId);
+            detail.setSpareId(inDetail.getSparePartInfoId());
+            detail.setNum(inDetail.getNum());
+            detail.setPrice(inDetail.getPrice());
+            detail.setTotalPrice(inDetail.getTotalPrice());
+            detail.setCreatedTime(LocalDateTime.now());
+            detail.setCreatedUserId(SecurityUtils.getUserInfo().getUserId());
+            detail.setType(InStoreTypeEnum.CAIGOU_RUKU.getValue());
+            detailList.add(detail);
+        }
+        inStoreDetailMapper.insertListforComplex(detailList);
+    }
+
     @Override
     public PurchaseStoreFormVO getVOById(String id) {
         PurchaseStoreForm entity = this.getModelById(id);