|
|
@@ -7,8 +7,10 @@ import com.usoftchina.saas.account.api.CompanyApi;
|
|
|
import com.usoftchina.saas.account.dto.CompanyDTO;
|
|
|
import com.usoftchina.saas.base.Result;
|
|
|
import com.usoftchina.saas.base.service.CommonBaseServiceImpl;
|
|
|
+import com.usoftchina.saas.commons.api.ConfigsApi;
|
|
|
import com.usoftchina.saas.commons.api.MaxnumberService;
|
|
|
import com.usoftchina.saas.commons.api.MessageLogService;
|
|
|
+import com.usoftchina.saas.commons.cache.ConfigsCache;
|
|
|
import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
|
|
|
import com.usoftchina.saas.commons.dto.DocBaseDTO;
|
|
|
import com.usoftchina.saas.commons.dto.ListReqDTO;
|
|
|
@@ -25,6 +27,7 @@ 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.service.VendApamountService;
|
|
|
import com.usoftchina.saas.document.service.VendorService;
|
|
|
import com.usoftchina.saas.document.service.VendorkindService;
|
|
|
import com.usoftchina.saas.exception.BizException;
|
|
|
@@ -69,6 +72,10 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
|
|
|
private VendorkindService vendorkindService;
|
|
|
@Autowired
|
|
|
private CompanyApi companyApi;
|
|
|
+ @Autowired
|
|
|
+ private ConfigsApi configsApi;
|
|
|
+ @Autowired
|
|
|
+ private VendApamountService vendApamountService;
|
|
|
@Value("${b2b.baseUrl.common}")
|
|
|
private String b2bUrl;
|
|
|
|
|
|
@@ -153,28 +160,11 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
|
|
|
main.setCompanyId(BaseContextHolder.getCompanyId());
|
|
|
List<Vendorcontact> items = vendorListDTO.getItems();
|
|
|
String ve_code = main.getVe_code().trim().toUpperCase();
|
|
|
-
|
|
|
- //获取已结账的期间
|
|
|
- String YM = subledgerMapper.selectUnPeriod(companyId);
|
|
|
- if(YM==null || YM.equals("")){
|
|
|
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMM");
|
|
|
- YM = simpleDateFormat.format(main.getVe_begindate());
|
|
|
- }else{
|
|
|
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMM");
|
|
|
- String beginDate = simpleDateFormat.format(main.getVe_begindate());
|
|
|
- if(Integer.valueOf(YM)>Integer.valueOf(beginDate)){
|
|
|
- int code = BizExceptionCode.LIMIT_PERIOD_VENDOR.getCode();
|
|
|
- String mes = String.format(BizExceptionCode.LIMIT_PERIOD_VENDOR.getMessage(),YM);
|
|
|
- throw new BizException(code , mes);
|
|
|
- }
|
|
|
- YM = beginDate;
|
|
|
- }
|
|
|
ve_code = RegexpUtils.replaceSpecCharacter(ve_code);
|
|
|
if (vendorListDTO.isCodeModified()) {
|
|
|
ve_code = pushMaxnubmer(ve_code, main.getId());
|
|
|
}
|
|
|
- //String code = pushMaxnubmer(ve_code, main.getId());
|
|
|
- if(main.getId() == 0){
|
|
|
+ if(main.getId() == 0){//保存
|
|
|
int count = getMapper().getCountByCode(ve_code, companyId);
|
|
|
if(count > 0){
|
|
|
throw new BizException(BizExceptionCode.REPEAT_CODE);
|
|
|
@@ -185,12 +175,6 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
|
|
|
}
|
|
|
//保存主表信息
|
|
|
main.setVe_code(ve_code);
|
|
|
- //更新应付款余额
|
|
|
- Double beginapamount = main.getVe_beginapamount()==null ? new Double(0):main.getVe_beginapamount();
|
|
|
- Double beginprepayamount = main.getVe_beginprepayamount()==null ? new Double(0):main.getVe_beginprepayamount();
|
|
|
- Double payamount = main.getVe_payamount()==null? new Double(0):main.getVe_payamount();
|
|
|
- Double preamount = main.getVe_preamount()==null? new Double(0):main.getVe_preamount();
|
|
|
- main.setVe_leftamount(beginapamount-beginprepayamount+payamount-preamount);
|
|
|
//更新录入人录入时间ID
|
|
|
main.setCreatorId(BaseContextHolder.getUserId());
|
|
|
getMapper().insertSelective(main);
|
|
|
@@ -207,6 +191,20 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
|
|
|
if (items.size() > 0){
|
|
|
vendorcontactMapper.batchInsert(items);
|
|
|
}
|
|
|
+ if( 1==2 ){//单一币别更新应付款余额
|
|
|
+ Double beginapamount = main.getVe_beginapamount()==null ? new Double(0):main.getVe_beginapamount();
|
|
|
+ Double beginprepayamount = main.getVe_beginprepayamount()==null ? new Double(0):main.getVe_beginprepayamount();
|
|
|
+ if(beginapamount>0 || beginprepayamount>0){
|
|
|
+ VendApamount vendApamount=new VendApamount();
|
|
|
+ vendApamount.setId(new Long(0));
|
|
|
+ vendApamount.setVa_beginapamount(beginapamount);
|
|
|
+ vendApamount.setVa_beginprepayamount(beginprepayamount);
|
|
|
+ vendApamount.setVa_currency(configsApi.getConfigDataBycode("defaultCurrency"));
|
|
|
+ vendApamount.setVa_vendid(main.getId());
|
|
|
+ vendApamount.setVa_vendcode(main.getVe_code());
|
|
|
+ vendApamountService.saveData(vendApamount);
|
|
|
+ }
|
|
|
+ }
|
|
|
//记录LOG
|
|
|
messageLogService.save(generateMsgObj(mainId, ve_code));
|
|
|
}else{
|
|
|
@@ -255,7 +253,8 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
|
|
|
//期初预收
|
|
|
main.setVe_beginprepayamount(vendortpl.getVe_beginprepayamount());
|
|
|
}
|
|
|
-
|
|
|
+ if( 1==2 ){//单一币别更新应付款余额
|
|
|
+ }
|
|
|
//启用B2B对账
|
|
|
if (StringUtils.isEmpty(oldVendor.getVe_uu()) && !StringUtils.isEmpty(main.getVe_uu())){
|
|
|
try {
|
|
|
@@ -264,7 +263,6 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
|
|
|
LOGGER.info("请求B2B对账启用接口失败!, time={}", DateUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
getMapper().updateByPrimaryKeySelective(main);
|
|
|
if (items.size() > 0) {
|
|
|
List<Vendorcontact> updateItems = new ArrayList<Vendorcontact>();
|
|
|
@@ -293,15 +291,7 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
|
|
|
//记录LOG
|
|
|
messageLogService.update(generateMsgObj(main.getId(), ve_code));
|
|
|
}
|
|
|
-
|
|
|
- //更新应收款余额
|
|
|
- Double ve_leftamount = (main.getVe_beginapamount() == null ? new Double(0) : main.getVe_beginapamount())
|
|
|
- - (main.getVe_beginprepayamount() == null ? new Double(0) : main.getVe_beginprepayamount())
|
|
|
- + (main.getVe_payamount() == null ? new Double(0) : main.getVe_payamount())
|
|
|
- - (main.getVe_preamount() == null ? new Double(0) : main.getVe_preamount());
|
|
|
- main.setVe_leftamount(ve_leftamount);
|
|
|
- getMapper().updateByPrimaryKeySelective(main);
|
|
|
-
|
|
|
+/*
|
|
|
//插入中间表
|
|
|
Double amount = (main.getVe_beginapamount() == null ? new Double(0) : main.getVe_beginapamount())
|
|
|
- (main.getVe_beginprepayamount() == null ? new Double(0) : main.getVe_beginprepayamount());
|
|
|
@@ -329,7 +319,7 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
|
|
|
subledger.setCreatorId(BaseContextHolder.getUserId());
|
|
|
subledger.setCreatorName(BaseContextHolder.getUserName());
|
|
|
Long sl_id = subledgerMapper.selectByKindCodeVendid("期初余额","期初余额",
|
|
|
- Math.toIntExact(main.getId()),BaseContextHolder.getCompanyId(),YM);
|
|
|
+ Math.toIntExact(main.getId()),BaseContextHolder.getCompanyId(),"");
|
|
|
|
|
|
subledger.setId(sl_id);
|
|
|
if ( sl_id!=null && sl_id > 0 ) {
|
|
|
@@ -337,7 +327,7 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
|
|
|
}else {
|
|
|
subledgerMapper.insertSelective(subledger);
|
|
|
}
|
|
|
-
|
|
|
+*/
|
|
|
return generateMsgObj(main.getId(), ve_code);
|
|
|
}
|
|
|
|