This commit is contained in:
linfso 2024-09-05 15:08:19 +08:00
parent cf94507d91
commit b006339abe
3 changed files with 52 additions and 5 deletions

View File

@ -80,6 +80,9 @@ public class EmisCommonController extends EmisBaseController
@Autowired
private IEmisSettleInvoiceChRecordService emisSettleInvoiceChRecordService;
private IEmisSettleInvoiceRecordService emisSettleInvoiceRecordService;
@Autowired
RedissonService redissonService;
@ -678,5 +681,20 @@ public class EmisCommonController extends EmisBaseController
}
}
/**
* 重新计算账单开票状态
* @param settleBillNo
*/
@Log(title = "重新计算账单开票状态", businessType = BusinessType.UPDATE)
@RequestMapping("/reCalcSettleBillInvoiceStatus")
public void reCalcSettleBillInvoiceStatus(String settleBillNo) {
try{
emisSettleInvoiceRecordService.reCalcSettleBillInvoiceStatus(settleBillNo);
}
catch (Exception ex){
ex.printStackTrace();
}
}
}

View File

@ -89,6 +89,14 @@ public interface IEmisSettleInvoiceRecordService
public int auditCenterPass(EmisSettleInvoiceRecord inputObj) throws EmisBizError;
/**
* 重新计算账单开票状态
* @param settleBillNo
* @return
*/
public int reCalcSettleBillInvoiceStatus(String settleBillNo);
}

View File

@ -22,6 +22,7 @@ import com.xdadan.erp.emis.mapper.EmisSettleBillMapper;
import com.xdadan.erp.emis.mapper.EmisSettleInvoiceRelMapper;
import com.xdadan.erp.emis.service.EmisBaseService;
import com.xdadan.erp.emis.utils.WaybillHelper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
@ -38,6 +39,8 @@ import org.springframework.transaction.annotation.Transactional;
* @author linfso
* @date 2024-07-21 13:31:26
*/
@Slf4j
@Service
public class EmisSettleInvoiceRecordServiceImpl extends EmisBaseService implements IEmisSettleInvoiceRecordService
{
@ -159,7 +162,7 @@ public class EmisSettleInvoiceRecordServiceImpl extends EmisBaseService implemen
// 重算账单已开票金额
for(int i=0;i<settBillNoArr.length;i++) {
String billNo=settBillNoArr[i];
reCalcSettleBillInvoiceInfo(billNo);
reCalcSettleBillInvoiceStatus(billNo);
}
return 1;
@ -170,7 +173,8 @@ public class EmisSettleInvoiceRecordServiceImpl extends EmisBaseService implemen
* @param settleBillNo
* @return
*/
private int reCalcSettleBillInvoiceInfo(String settleBillNo){
@Override
public int reCalcSettleBillInvoiceStatus(String settleBillNo){
EmisSettleBill oldBill =getSettleBillBySettleBillNo(settleBillNo);
BigDecimal totalMoney = BigDecimal.ZERO;
@ -178,11 +182,14 @@ public class EmisSettleInvoiceRecordServiceImpl extends EmisBaseService implemen
List<Map> listRel=emisSettleInvoiceRelMapper.selectHasOpenInvoiceMapList(settleBillNo);
if(!CollectionUtils.isEmpty(listRel)) {
for(Map item:listRel){
BigDecimal sumMoney = BigDecimal.valueOf(Float.valueOf(item.get("sumMoney").toString()));
BigDecimal sumMoney = BigDecimal.valueOf(Double.valueOf(item.get("sumMoney").toString()));
totalMoney = totalMoney.add(sumMoney);
}
}
log.error("==>reCalcSettleBillInvoiceStatus:totalMoney={}",totalMoney);
log.error("==>reCalcSettleBillInvoiceStatus:getRecMoney={}",oldBill.getRecMoney());
EmisSettleBill newBill = new EmisSettleBill();
newBill.setId(oldBill.getId());
@ -281,7 +288,7 @@ public class EmisSettleInvoiceRecordServiceImpl extends EmisBaseService implemen
// 重新计算开票状态
String[] settleBillArr=emisSettleInvoiceRecord.getSettleBillNo().split(",");
for(int i=0;i<settleBillArr.length;i++){
reCalcSettleBillInvoiceInfo(settleBillArr[i]);
reCalcSettleBillInvoiceStatus(settleBillArr[i]);
}
return 1;
@ -316,7 +323,7 @@ public class EmisSettleInvoiceRecordServiceImpl extends EmisBaseService implemen
// 重新计算开票状态
String[] settleBillArr=emisSettleInvoiceRecord.getSettleBillNo().split(",");
for(int i=0;i<settleBillArr.length;i++){
reCalcSettleBillInvoiceInfo(settleBillArr[i]);
reCalcSettleBillInvoiceStatus(settleBillArr[i]);
}
return 1;
@ -324,6 +331,20 @@ public class EmisSettleInvoiceRecordServiceImpl extends EmisBaseService implemen
}
public static void main(String[] args) {
BigDecimal totalMoney=BigDecimal.ZERO;
BigDecimal recMoney=BigDecimal.ZERO;
totalMoney=totalMoney.add(BigDecimal.valueOf(200.2D));
recMoney=BigDecimal.valueOf(200.19D);
System.out.println("==>{}"+totalMoney.toString());
System.out.println("==>{}"+totalMoney.compareTo(recMoney));
}
}