Browse Source

物料BUG修改

chenw 7 years ago
parent
commit
d9ded4f471

+ 7 - 5
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/ProductServiceImpl.java

@@ -123,16 +123,18 @@ public class ProductServiceImpl extends CommonBaseServiceImpl<ProductMapper, Pro
             if (productDetailList.size() > 0){
                 //找到原始单据,反过账并删除
                 String inoutCode = getMapper().selectProdIOCode(product.getPr_code(), BaseContextHolder.getCompanyId(), "库存初始化");
-                post(inoutCode, "反过账");
-                getMapper().deleteProdIODetailByCode(inoutCode, BaseContextHolder.getCompanyId());
-                getMapper().deleteProdIOByCode(inoutCode, BaseContextHolder.getCompanyId());
-
+                if (!StringUtils.isEmpty(inoutCode)) {
+                    post(inoutCode, "反过账");
+                    getMapper().deleteProdIODetailByCode(inoutCode, BaseContextHolder.getCompanyId());
+                    getMapper().deleteProdIOByCode(inoutCode, BaseContextHolder.getCompanyId());
+                }
                 //此种情况不可能发生明细行数量,只会发生明细行数据修改/新增明细行
                 //a.更新明细行数据
                 List<ProductDetail> insertItems = new ArrayList<ProductDetail>();
                 List<ProductDetail> updateItems = new ArrayList<ProductDetail>();
                 for(ProductDetail productDetail : productDetailList){
                     if (productDetail.getId() == 0){
+                        productDetail.setPd_prodid(product.getId());
                         productDetail.setUpdaterId(userId);
                         productDetail.setUpdateTime(new Date());
                         insertItems.add(productDetail);
@@ -373,8 +375,8 @@ public class ProductServiceImpl extends CommonBaseServiceImpl<ProductMapper, Pro
         validEnableDel(id);
 
         String code = getMapper().getCodeById(id);
-        getMapper().deleteByPrimaryKey(id);
         productDetailMapper.deleteByProdId(id);
+        getMapper().deleteByPrimaryKey(id);
         DocBaseDTO docBaseDTO = generateMsgObj(id, code);
         //记录LOG
         messageLogService.delete(docBaseDTO);