Procházet zdrojové kódy

1.供应商资料删除,删除供应商期初设置;2.供应商期初删除删除中间表期初数据,更新供应商资料本位币余额

dingyl před 6 roky
rodič
revize
f10ae785ac

+ 2 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/mapper/SubledgerMapper.java

@@ -41,4 +41,6 @@ public interface SubledgerMapper {
     String selectThisPeriod(@Param("companyId") Long companyId);
 
     Long selectIdBycondition(@Param("con") String con, @Param("companyId") Long companyId);
+
+    void deleteBycondition(@Param("con") String con, @Param("companyId") Long companyId);
 }

+ 4 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/mapper/VendApamountMapper.java

@@ -29,4 +29,8 @@ public interface VendApamountMapper extends CommonBaseMapper<VendApamount> {
     VendApamount getVendApamount(@Param("id") Long id, @Param("companyId") Long companyId);
 
     int hasVendNameByCode(@Param("vendCode") String vendCode,@Param("companyId") Long companyId,@Param("vendName") String vendName);
+
+    void updateCodeAndNameByVendid(@Param("ve_id") Long ve_id);
+
+    void deleteByVendid(@Param("ve_id") Long ve_id);
 }

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

@@ -90,8 +90,12 @@ public class VendApamountServiceImpl extends CommonBaseServiceImpl<VendApamountM
             if(checkBeginData > 0){
                 throw new BizException(BizExceptionCode.BIZ_NOPERIOD_DELETE);
             }
-
+            //删除中间表subledger数据
+            String delcond="sl_kind='期初余额' and sl_currency='"+vendApamount.getVa_currency()+"' and sl_vendid='"+vendApamount.getVa_vendid()+"'";
+            subledgerMapper.deleteBycondition(delcond,BaseContextHolder.getCompanyId());
             getMapper().deleteByPrimaryKey(id);
+            //更新供应商资料本位币余额
+            vendorMapper.updateVendleftamountByPrimaryKey(vendApamount.getVa_vendid());
             //记录LOG
             messageLogService.delete(generateMsgObj(id));
         }

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

@@ -23,10 +23,7 @@ import com.usoftchina.saas.context.BaseContextHolder;
 import com.usoftchina.saas.document.dto.VendorDTO;
 import com.usoftchina.saas.document.dto.VendorListDTO;
 import com.usoftchina.saas.document.entities.*;
-import com.usoftchina.saas.document.mapper.DataImportMapper;
-import com.usoftchina.saas.document.mapper.SubledgerMapper;
-import com.usoftchina.saas.document.mapper.VendorMapper;
-import com.usoftchina.saas.document.mapper.VendorcontactMapper;
+import com.usoftchina.saas.document.mapper.*;
 import com.usoftchina.saas.document.service.VendApamountService;
 import com.usoftchina.saas.document.service.VendorService;
 import com.usoftchina.saas.document.service.VendorkindService;
@@ -76,6 +73,8 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
     private ConfigsApi configsApi;
     @Autowired
     private  VendApamountService vendApamountService;
+    @Autowired
+    private VendApamountMapper vendApamountMapper;
     @Value("${b2b.baseUrl.common}")
     private String b2bUrl;
 
@@ -185,7 +184,6 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
                 item.setCompanyId(BaseContextHolder.getCompanyId());
                 item.setCreatorId(BaseContextHolder.getUserId());
                 item.setCreateTime(new Date());
-
             }
             //保存明细表信息
             if (items.size() > 0){
@@ -224,7 +222,6 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
                     throw new BizException(BizExceptionCode.REPEAT_NAME);
                 }
             }
-
             //有关联时不可修改名称编号
             Map<String, Object> map = new HashMap<String, Object>();
             map.put("v_id",main.getId());
@@ -243,7 +240,6 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
                     throw new BizException(BizExceptionCode.BIZ_RELUPDATE_AMOUNT);
                 }
             }
-
             //检查期初日期是否已结转
             count = getMapper().validFinish(mainId,companyId);
             if (count>0) {
@@ -291,43 +287,8 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
             //记录LOG
             messageLogService.update(generateMsgObj(main.getId(), ve_code));
         }
-/*
-        //插入中间表
-        Double amount = (main.getVe_beginapamount() == null ? new Double(0) : main.getVe_beginapamount())
-                - (main.getVe_beginprepayamount() == null ? new Double(0) : main.getVe_beginprepayamount());
-        Subledger subledger = new Subledger();
-        subledger.setSl_code("期初余额");
-        subledger.setSl_kind("期初余额");
-        subledger.setSl_vendid(Math.toIntExact(main.getId()));
-        subledger.setSl_custid(0);
-        subledger.setCompanyId(BaseContextHolder.getCompanyId());
-        subledger.setSl_date(DateUtils.getFirstDay(main.getVe_begindate()));
-        subledger.setSl_ym(DateUtils.getYm(main.getVe_begindate()));
-        subledger.setSl_currency(main.getVe_currency());
-        if (amount > new Double(0)){
-            subledger.setSl_preamount(new Double(0));
-            subledger.setSl_amount(Math.abs(amount));
-        }else {
-            subledger.setSl_amount(new Double(0));
-            subledger.setSl_preamount(Math.abs(amount));
-        }
-        subledger.setSl_orderamount(Math.abs(amount));
-        subledger.setSl_namount((subledger.getSl_orderamount() == null ? new Double(0) : subledger.getSl_orderamount()) +
-                (subledger.getSl_discount() == null ? new Double(0) : subledger.getSl_discount()) -
-                (subledger.getSl_yamount() == null ? new Double(0) : subledger.getSl_yamount()));
-        subledger.setCreateTime(new Date());
-        subledger.setCreatorId(BaseContextHolder.getUserId());
-        subledger.setCreatorName(BaseContextHolder.getUserName());
-        Long sl_id = subledgerMapper.selectByKindCodeVendid("期初余额","期初余额",
-                Math.toIntExact(main.getId()),BaseContextHolder.getCompanyId(),"");
-
-        subledger.setId(sl_id);
-        if ( sl_id!=null && sl_id > 0 ) {
-            subledgerMapper.updateByPrimaryKeySelective(subledger);
-        }else {
-            subledgerMapper.insertSelective(subledger);
-        }
-*/
+        //更新供应商应付余额表供应商编号,名称.
+        vendApamountMapper.updateCodeAndNameByVendid(main.getId());
         return generateMsgObj(main.getId(), ve_code);
     }
 
@@ -376,6 +337,8 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
             }else{
                 vendorcontactMapper.deleteByFK(id);
                 getMapper().deleteByPrimaryKey(id);
+                //删除期初设置
+                vendApamountMapper.deleteByVendid(id);
                 //删除中间表
                 subledgerMapper.deleteVendor("期初余额", "期初余额", Math.toIntExact(id));
                 //记录LOG

+ 12 - 0
applications/document/document-server/src/main/resources/mapper/SubledgerMapper.xml

@@ -328,4 +328,16 @@
       </if>
     </where>
   </select>
+
+  <delete id="deleteBycondition">
+    delete from subledger
+    <where>
+      <if test="con != null">
+        ${con}
+      </if>
+      <if test="companyId != null">
+        and   subledger.companyId = #{companyId}
+      </if>
+    </where>
+  </delete>
 </mapper>

+ 13 - 0
applications/document/document-server/src/main/resources/mapper/VendApamountMapper.xml

@@ -203,6 +203,9 @@
             <if test="va_beginprepayamount != null">
                 va_beginprepayamount = #{va_beginprepayamount,jdbcType=DOUBLE},
             </if>
+            <if test="va_leftamount != null">
+                va_leftamount = #{va_leftamount,jdbcType=DOUBLE},
+            </if>
             <if test="updaterId != null">
                 updaterId = #{updaterId,jdbcType=INTEGER},
             </if>
@@ -299,5 +302,15 @@
             </if>
         </where>
     </select>
+    <update id="updateCodeAndNameByVendid">
+         update vendapamount inner join vendor  on ve_id=va_vendid and vendor.companyid=vendapamount.companyid
+         set va_vendcode=ve_Code ,
+             va_vendname=ve_name
+        where  va_vendid=#{ve_id}
+    </update>
 
+    <delete id="deleteByVendid" parameterType="java.lang.Long">
+        delete from vendapamount
+        where va_vendid = #{ve_id}
+    </delete>
 </mapper>