|
|
@@ -21,6 +21,7 @@ import com.usoftchina.saas.page.PageRequest;
|
|
|
import com.usoftchina.saas.utils.DateUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
import java.util.Date;
|
|
|
@@ -53,6 +54,7 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
|
|
|
private CommonService commonService;
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public DocBaseDTO insert(Rec rec) {
|
|
|
Recbalance recbalance = rec.getMain();
|
|
|
List<Recbalancedet> recbalancedet = rec.getItems1();
|
|
|
@@ -164,32 +166,17 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
|
|
|
}
|
|
|
}
|
|
|
//不能选择重复的源单
|
|
|
- for ( int i = 0 ; i < recbalancedetail.size() - 1 ; i ++ ) {
|
|
|
- for ( int j = recbalancedetail.size() - 1 ; j > i; j -- ) {
|
|
|
- if (recbalancedetail.get(j).getRbd_slcode().equals(recbalancedetail.get(i).getRbd_slcode())) {
|
|
|
+ for ( int i = 0 ; i < recbalancedetail.size() - 1 ; i ++ ) {
|
|
|
+ for (int j = recbalancedetail.size() - 1; j > i; j--) {
|
|
|
+ if (recbalancedetail.get(j).getRbd_slcode().equals(recbalancedetail.get(i).getRbd_slcode())) {
|
|
|
throw new BizException(500, BizExceptionCode.PAYBALANCE_UNIQUESOURCECODE.getMessage());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- //付款金额合计
|
|
|
- Double amountTotal = new Double(0);
|
|
|
- for (Recbalancedet det: recbalancedet) {
|
|
|
- amountTotal = amountTotal + det.getRd_amount();
|
|
|
- }
|
|
|
- //更新本次预付款金额
|
|
|
- Recbalance updatePay = new Recbalance();
|
|
|
- updatePay.setId(recbalance.getId());
|
|
|
-
|
|
|
- //折扣
|
|
|
- Double discount = recbalance.getRb_discounts();
|
|
|
- if (discount == null){
|
|
|
- discount = 0.0;
|
|
|
- }
|
|
|
- updatePay.setRb_preamount(amountTotal + discount - nowbalanceTotal);
|
|
|
- recbalanceMapper.updateByPrimaryKeySelective(updatePay);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public void delete(int id) {
|
|
|
DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
|
|
|
|
|
|
@@ -214,6 +201,7 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public void deleteItem(int id) {
|
|
|
DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
|
|
|
recbalancedetMapper.deleteItem(id);
|
|
|
@@ -223,6 +211,7 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public void deleteItems(int id) {
|
|
|
DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
|
|
|
recbalancedetailMapper.deleteItem(id);
|
|
|
@@ -232,6 +221,7 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public DocBaseDTO audit(Rec rec) {
|
|
|
Long companyId = BaseContextHolder.getCompanyId();
|
|
|
Recbalance recbalance = rec.getMain();
|
|
|
@@ -566,15 +556,17 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
|
|
|
subledger.setSl_ym(DateUtils.getYm(recbalance.getRb_date()));
|
|
|
Double rdamount = recbalance.getRb_rdamount()==null?new Double(0):recbalance.getRb_rdamount();
|
|
|
Double preamount = recbalance.getRb_preamount()==null?new Double(0):recbalance.getRb_preamount();
|
|
|
- Double pbdamount = new Double(0);
|
|
|
- subledger.setSl_amount(-rdamount);
|
|
|
- subledger.setSl_yamount(preamount);
|
|
|
+ Double rbdamount = recbalance.getRb_rbdamount()==null?new Double(0):recbalance.getRb_rbdamount();
|
|
|
+ subledger.setSl_amount(-rbdamount);
|
|
|
subledger.setSl_orderamount(rdamount);
|
|
|
|
|
|
if(preamount!=0){
|
|
|
- pbdamount = recbalance.getRb_rbdamount()==null?new Double(0):recbalance.getRb_rbdamount();
|
|
|
+ subledger.setSl_yamount(rbdamount);
|
|
|
+ subledger.setSl_namount(rdamount-rbdamount);
|
|
|
+ }else{
|
|
|
+ subledger.setSl_yamount(new Double(0));
|
|
|
+ subledger.setSl_namount(rdamount);
|
|
|
}
|
|
|
- subledger.setSl_namount(rdamount-pbdamount);
|
|
|
subledger.setSl_remark(subledger.getSl_remark());
|
|
|
subledger.setSl_preamount(preamount);
|
|
|
|
|
|
@@ -609,12 +601,7 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
|
|
|
banksubledger.setBl_manname(recbalance.getRb_manname());
|
|
|
banksubledger.setBl_remark(recbalancedet.getRd_remark());
|
|
|
banksubledger.setBl_orderamount(amount);
|
|
|
- if (banksubledgerMapper.selectCode(banksubledger.getBl_code()) == null){
|
|
|
- banksubledgerMapper.insertSelective(banksubledger);
|
|
|
- }else {
|
|
|
- banksubledgerMapper.updateByPrimaryKeySelective(banksubledger);
|
|
|
- }
|
|
|
-
|
|
|
+ banksubledgerMapper.insertSelective(banksubledger);
|
|
|
}
|
|
|
}
|
|
|
private DocBaseDTO getBaseDTOById(Long id) {
|