md
This commit is contained in:
parent
910202b024
commit
66e308d7af
@ -13,6 +13,9 @@ package com.xdadan.erp.web.emis;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
import com.xdadan.erp.emis.domain.exception.EmisBizError;
|
||||||
|
import com.xdadan.erp.emis.domain.vo.scan.ScanResult;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
@ -107,7 +110,18 @@ public class EmisSettleBillController extends BaseController
|
|||||||
@PostMapping
|
@PostMapping
|
||||||
public AjaxResult add(@RequestBody EmisSettleBill emisSettleBill)
|
public AjaxResult add(@RequestBody EmisSettleBill emisSettleBill)
|
||||||
{
|
{
|
||||||
return toAjax(emisSettleBillService.insertEmisSettleBill(emisSettleBill));
|
try {
|
||||||
|
return toAjax(emisSettleBillService.insertEmisSettleBill(emisSettleBill));
|
||||||
|
}catch (Exception ex){
|
||||||
|
ex.printStackTrace();
|
||||||
|
// 返回子定义异常
|
||||||
|
if(ex instanceof EmisBizError){
|
||||||
|
return AjaxResult.error(ex.getMessage(),((EmisBizError)ex).getErrorCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
return AjaxResult.error("系统异常,联系客服");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -19,6 +19,8 @@ import com.xdadan.erp.common.core.domain.TreeEntity;
|
|||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
|
||||||
@ -116,4 +118,7 @@ public class EmisSettleBill extends BaseEntity
|
|||||||
/* 网点确认备注 */
|
/* 网点确认备注 */
|
||||||
private String siteConfirmNote;
|
private String siteConfirmNote;
|
||||||
|
|
||||||
|
List<EmisSettleSubBill> subBillList;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -35,6 +35,9 @@ public interface EmisSettleSubBillMapper extends BaseMapper<EmisSettleSubBill>
|
|||||||
|
|
||||||
public EmisSettleSubBill selectSettleSubBillByBillCode(String billCode);
|
public EmisSettleSubBill selectSettleSubBillByBillCode(String billCode);
|
||||||
|
|
||||||
|
|
||||||
|
public EmisSettleSubBill selectSettleSubBillBySubBillNo(String subBillNo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询列表
|
* 查询列表
|
||||||
*
|
*
|
||||||
@ -76,6 +79,11 @@ public interface EmisSettleSubBillMapper extends BaseMapper<EmisSettleSubBill>
|
|||||||
*/
|
*/
|
||||||
public int updateEmisSettleSubBill(EmisSettleSubBill emisSettleSubBill);
|
public int updateEmisSettleSubBill(EmisSettleSubBill emisSettleSubBill);
|
||||||
|
|
||||||
|
|
||||||
|
// 更新主账单号
|
||||||
|
public int updateMainSettleBillNo(EmisSettleSubBill emisSettleSubBill);
|
||||||
|
|
||||||
|
|
||||||
// 财务中心取消和确认,确认不出账,设置异常
|
// 财务中心取消和确认,确认不出账,设置异常
|
||||||
public int confirmBillByCenter(EmisSettleSubBill emisSettleSubBill);
|
public int confirmBillByCenter(EmisSettleSubBill emisSettleSubBill);
|
||||||
public int cancelConfirmBillByCenter(EmisSettleSubBill emisSettleSubBill);
|
public int cancelConfirmBillByCenter(EmisSettleSubBill emisSettleSubBill);
|
||||||
|
|||||||
@ -1048,6 +1048,16 @@ public class EmisBaseService {
|
|||||||
public EmisSettleSubBill getSettleSubBillByBillCode(String billCode){
|
public EmisSettleSubBill getSettleSubBillByBillCode(String billCode){
|
||||||
return emisSettleSubBillMapper.selectSettleSubBillByBillCode(billCode);
|
return emisSettleSubBillMapper.selectSettleSubBillByBillCode(billCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取运单主账单信息 根据子账单编号
|
||||||
|
* @param subBillNo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public EmisSettleSubBill getSettleSubBillBySubBillNo(String subBillNo){
|
||||||
|
return emisSettleSubBillMapper.selectSettleSubBillBySubBillNo(subBillNo);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 财务账单确认
|
* 财务账单确认
|
||||||
* @param emisSettleSubBill
|
* @param emisSettleSubBill
|
||||||
|
|||||||
@ -11,8 +11,9 @@ package com.xdadan.erp.emis.service;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.xdadan.erp.emis.domain.EmisSettleBill;
|
import com.xdadan.erp.emis.domain.EmisSettleBill;
|
||||||
|
import com.xdadan.erp.emis.domain.exception.EmisBizError;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ClassName EmisSettleBillService
|
* @ClassName EmisSettleBillService
|
||||||
* @Description 结算总账单
|
* @Description 结算总账单
|
||||||
* @author linfso
|
* @author linfso
|
||||||
@ -50,7 +51,7 @@ public interface IEmisSettleBillService
|
|||||||
* @param emisSettleBill 结算总账单
|
* @param emisSettleBill 结算总账单
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int insertEmisSettleBill(EmisSettleBill emisSettleBill);
|
public int insertEmisSettleBill(EmisSettleBill emisSettleBill) throws EmisBizError;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改结算总账单
|
* 修改结算总账单
|
||||||
|
|||||||
@ -10,25 +10,38 @@
|
|||||||
|
|
||||||
package com.xdadan.erp.emis.service.impl;
|
package com.xdadan.erp.emis.service.impl;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import com.xdadan.erp.emis.domain.EmisSettleSubBill;
|
||||||
|
import com.xdadan.erp.emis.domain.enumtype.EmisBizErrorType;
|
||||||
|
import com.xdadan.erp.emis.domain.exception.EmisBizError;
|
||||||
|
import com.xdadan.erp.emis.mapper.EmisSettleSubBillMapper;
|
||||||
|
import com.xdadan.erp.emis.service.EmisBaseService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.xdadan.erp.emis.domain.EmisSettleBill;
|
import com.xdadan.erp.emis.domain.EmisSettleBill;
|
||||||
import com.xdadan.erp.emis.mapper.EmisSettleBillMapper;
|
import com.xdadan.erp.emis.mapper.EmisSettleBillMapper;
|
||||||
import com.xdadan.erp.emis.service.IEmisSettleBillService;
|
import com.xdadan.erp.emis.service.IEmisSettleBillService;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 结算总账单Service业务层处理
|
* 结算总账单Service业务层处理
|
||||||
*
|
*
|
||||||
* @author linfso
|
* @author linfso
|
||||||
* @date 2024-07-03 18:54:51
|
* @date 2024-07-03 18:54:51
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class EmisSettleBillServiceImpl implements IEmisSettleBillService
|
public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisSettleBillService
|
||||||
{
|
{
|
||||||
@Autowired
|
@Autowired
|
||||||
private EmisSettleBillMapper emisSettleBillMapper;
|
private EmisSettleBillMapper emisSettleBillMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private EmisSettleSubBillMapper emisSettleSubBillMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询结算总账单
|
* 查询结算总账单
|
||||||
*
|
*
|
||||||
@ -73,8 +86,64 @@ public class EmisSettleBillServiceImpl implements IEmisSettleBillService
|
|||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int insertEmisSettleBill(EmisSettleBill emisSettleBill)
|
public int insertEmisSettleBill(EmisSettleBill emisSettleBill) throws EmisBizError {
|
||||||
{
|
// 检查子账单是否可加入
|
||||||
|
|
||||||
|
if(CollectionUtil.isEmpty(emisSettleBill.getSubBillList())){
|
||||||
|
throw new EmisBizError(EmisBizErrorType.FAIL,"合账失败,未选择子账单");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 计算应收总账单金额
|
||||||
|
// 检查子账单是否可加入
|
||||||
|
BigDecimal totalRecMoney = BigDecimal.ZERO;
|
||||||
|
/* 总票数 */
|
||||||
|
Integer sendPieceSum = emisSettleBill.getSubBillList().size();
|
||||||
|
// /* 总件数 */
|
||||||
|
Integer pieceNumber=0;
|
||||||
|
// /* 总重量 */
|
||||||
|
BigDecimal feeWeight = BigDecimal.ZERO;
|
||||||
|
// /* 合计金额 */
|
||||||
|
BigDecimal sendMoneySum= BigDecimal.ZERO;
|
||||||
|
|
||||||
|
for (EmisSettleSubBill subBill: emisSettleBill.getSubBillList()
|
||||||
|
) {
|
||||||
|
EmisSettleSubBill subBllOld = getSettleSubBillBySubBillNo(subBill.getBillNo());
|
||||||
|
if(subBllOld==null){
|
||||||
|
throw new EmisBizError(EmisBizErrorType.FAIL,"合账失败,子账单["+subBllOld.getBillCode()+"]不存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!"1".equals(subBllOld.getBlConfirm()) ){
|
||||||
|
throw new EmisBizError(EmisBizErrorType.FAIL,"合账失败,子单号["+subBllOld.getBillCode()+"]未确认");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 更新主账单编号
|
||||||
|
subBllOld.setSettleBillNo(emisSettleBill.getSettleBillNo());
|
||||||
|
emisSettleSubBillMapper.updateMainSettleBillNo(subBllOld);
|
||||||
|
|
||||||
|
// 累加应收
|
||||||
|
totalRecMoney=totalRecMoney.add(subBllOld.getBillFee());
|
||||||
|
pieceNumber=pieceNumber+subBllOld.getWaybillDetail().getParcelQty();
|
||||||
|
feeWeight=feeWeight.add(subBllOld.getWaybillDetail().getSettlementWeight());
|
||||||
|
|
||||||
|
// 主账单公共信息
|
||||||
|
emisSettleBill.setSettleType(subBllOld.getSettleType());
|
||||||
|
emisSettleBill.setCustNo(subBllOld.getCustNo());
|
||||||
|
emisSettleBill.setCustomerCode(subBllOld.getCustomerCode());
|
||||||
|
emisSettleBill.setCustomerName(subBllOld.getCustomerName());
|
||||||
|
}
|
||||||
|
|
||||||
|
sendMoneySum=totalRecMoney;
|
||||||
|
|
||||||
|
emisSettleBill.setSendPieceSum(sendPieceSum);
|
||||||
|
emisSettleBill.setPieceNumber(pieceNumber);
|
||||||
|
emisSettleBill.setFeeWeight(feeWeight);
|
||||||
|
emisSettleBill.setRecMoney(totalRecMoney);
|
||||||
|
emisSettleBill.setRecMoney(sendMoneySum);
|
||||||
|
|
||||||
|
// 账单总金额
|
||||||
return emisSettleBillMapper.insertEmisSettleBill(emisSettleBill);
|
return emisSettleBillMapper.insertEmisSettleBill(emisSettleBill);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -316,6 +316,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
from emis_settle_sub_bill a
|
from emis_settle_sub_bill a
|
||||||
where a.del_flag='0' and a.bill_code = #{billCode} and a.parent_bill_no='0' limit 1
|
where a.del_flag='0' and a.bill_code = #{billCode} and a.parent_bill_no='0' limit 1
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
<select id="selectSettleSubBillBySubBillNo" parameterType="String" resultMap="EmisSettleSubBillResult">
|
||||||
|
select id, bill_no, parent_bill_no, settle_bill_no, bill_code, bill_date, bill_fee, currency, settle_type, bl_split, bill_month, cust_no, customer_code, customer_name, bl_confirm, confirm_date, confirm_site, confirm_man_code, bl_site_confirm, confirm_note, site_confirm_date, site_confirm_man_code, site_confirm_note, del_flag, create_by, create_time, update_by, update_time, create_site, update_site
|
||||||
|
from emis_settle_sub_bill a
|
||||||
|
where a.del_flag='0' and a.bill_no = #{subBillNo} limit 1
|
||||||
|
</select>
|
||||||
|
|
||||||
<insert id="insertEmisSettleSubBill" parameterType="EmisSettleSubBill" useGeneratedKeys="true" keyProperty="id">
|
<insert id="insertEmisSettleSubBill" parameterType="EmisSettleSubBill" useGeneratedKeys="true" keyProperty="id">
|
||||||
insert into emis_settle_sub_bill
|
insert into emis_settle_sub_bill
|
||||||
@ -421,6 +428,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
where id = #{id}
|
where id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<!-- 更新合账单 -->
|
||||||
|
<update id="updateMainSettleBillNo" parameterType="EmisSettleSubBill">
|
||||||
|
update emis_settle_sub_bill
|
||||||
|
<trim prefix="SET" suffixOverrides=",">
|
||||||
|
settle_bill_no = #{settleBillNo}
|
||||||
|
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
|
||||||
|
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||||
|
<if test="updateSite != null and updateSite != ''">update_site = #{updateSite},</if>
|
||||||
|
</trim>
|
||||||
|
where id = #{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
|
||||||
<!-- 中心确认 -->
|
<!-- 中心确认 -->
|
||||||
<update id="confirmBillByCenter" parameterType="EmisSettleSubBill">
|
<update id="confirmBillByCenter" parameterType="EmisSettleSubBill">
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user