Merge branch 'master' into develop

This commit is contained in:
smshen 2025-04-28 17:11:02 +08:00
commit 3c7c818a7c
18 changed files with 151 additions and 41 deletions

View File

@ -24,6 +24,7 @@ import com.xdadan.erp.common.utils.SecurityUtils;
import com.xdadan.erp.emis.domain.*;
import com.xdadan.erp.emis.domain.exception.EmisBizError;
import com.xdadan.erp.emis.domain.stat.BillPayStatInfo;
import com.xdadan.erp.emis.domain.stat.OpenBillStatInfo;
import com.xdadan.erp.emis.domain.vo.AddressParseResult;
import com.xdadan.erp.emis.service.*;
import com.xdadan.erp.emis.service.kefu.RL7moorService;
@ -408,7 +409,7 @@ public class EmisCommonController extends EmisBaseController
@GetMapping("/getBillPng/{uuid}")
public void getBillPng(HttpServletRequest request, HttpServletResponse response,@PathVariable("uuid")String uuid )
{
// "https://api.emis.tanex56.com/api/bizsvr/emis/common/getBillPng/123123212.png"
// "https://api-emis.tanex56.com/api/bizsvr/emis/common/getBillPng/123123212.png"
if(StringUtils.isEmpty(uuid)){
log.debug("参数错误");
return;
@ -586,7 +587,6 @@ public class EmisCommonController extends EmisBaseController
}
@GetMapping("/autoQueryInvoiceStatusTrigger")
public AjaxResult autoQueryInvoiceStatusTrigger(){
String lockKey="autoQueryInvoiceStatusTrigger";
@ -1127,9 +1127,9 @@ public class EmisCommonController extends EmisBaseController
@GetMapping("/autoDoGenerateNotifyTrigger")
public AjaxResult autoDoSendNotifyTrigger() {
// 0.催款,有超期回款的5分钟催一次
EmisSettleBill emisSettleBill=new EmisSettleBill();
emisSettleBill.getParams().put("isNeedRecdPay",1);
List<BillPayStatInfo> listExpireNoPayStatInfo = emisSettleBillService.selectBillPayStatInfoList(emisSettleBill);
EmisSettleBill queryRecBill=new EmisSettleBill();
queryRecBill.getParams().put("isNeedRecdPay",1);
List<BillPayStatInfo> listExpireNoPayStatInfo = emisSettleBillService.selectBillPayStatInfoList(queryRecBill);
if(!CollectionUtils.isEmpty(listExpireNoPayStatInfo)){
for (BillPayStatInfo item:listExpireNoPayStatInfo) {
String salesmen=item.getSalesmen();
@ -1140,16 +1140,22 @@ public class EmisCommonController extends EmisBaseController
}
}
// 1.销售开票统计通知
EmisSettleBill queryInvoice=new EmisSettleBill();
queryInvoice.getParams().put("isNeedRecdInvoice",1);
List<OpenBillStatInfo> listExpireNoInvoiceStatInfo = emisSettleBillService.selectOpenBillStatInfoList(queryInvoice);
if(!CollectionUtils.isEmpty(listExpireNoInvoiceStatInfo)){
for (OpenBillStatInfo item:listExpireNoInvoiceStatInfo) {
String salesmen=item.getSalesmen();
String billMonth=item.getBillMonth();
String msg="截止"+DateUtils.parseDateToStr("yyyy-MM-dd HH点",new Date())+" 有账单未开票,尽快联系客户开票,账期:"+billMonth+",待开票:"+item.getNoOpenBillCount()+",超期未开票:"+item.getExpiredNoOpenBillCount()+"!";
AjaxResult rst=NoticeUtils.outSendNoticeToInner(msg,msg,"/ruyERj/BillPaybackSumList",salesmen,3);
log.info(msg);
}
}
// 2.开票收款统计通知
// sysNoticeService.
// if(empcodes!=null && empcodes.length>0) {
// for(int i=0;i<empcodes.length;i++){
// String empCode=empcodes[i];

View File

@ -176,4 +176,28 @@ public class EmisSettlePayRecordController extends BaseController
{
return toAjax(emisSettlePayRecordService.deleteEmisSettlePayRecordByIds(ids));
}
/**
* 修改账单收退款记录
*/
@PreAuthorize("@ss.hasPermi('emis:emisSettlePayRecord:edit')")
@Log(title = "收款回退", businessType = BusinessType.UPDATE)
@PostMapping("/payRecordReturn/{id}")
public AjaxResult payRecordReturn(@PathVariable Long id)
{
try {
return toAjax(emisSettlePayRecordService.payRecordReturn(id));
}
catch (Exception ex){
ex.printStackTrace();
// 返回子定义异常
if(ex instanceof EmisBizError){
return AjaxResult.error(ex.getMessage(),((EmisBizError)ex).getErrorCode());
}
return AjaxResult.error("服务器异常,联系客服");
}
}
}

View File

@ -157,7 +157,7 @@ public class EmisStaffController extends EmisBaseController
}
String empCode=getLoginUser().getUser().getEmpCode();
// String text="#小程序://探路速运/Nt29PF2JBvBkf2w?empCode="+empCode;
String text="https://api.emis.tanex56.com/api/bizsvr/emis/common/getSpecialService?empCode="+empCode;
String text="https://api-emis.jtrs56.com/api/bizsvr/emis/common/getSpecialService?empCode="+empCode;
text = URLDecoder.decode(text, "UTF-8");
String url=text;
String showText="";

View File

@ -11,8 +11,11 @@
package com.xdadan.erp.web.emis;
import java.util.Arrays;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.xdadan.erp.emis.utils.WaybillHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
@ -56,6 +59,12 @@ public class EmisTmsCostProfitController extends BaseController
public TableDataInfo list(EmisTmsCostProfit emisTmsCostProfit)
{
startPage();
emisTmsCostProfit.setBillCode(WaybillHelper.formatQueryValue(emisTmsCostProfit.getBillCode()));
String[] billCodeSortList = emisTmsCostProfit.getBillCode().split(",");
if(billCodeSortList.length>1){
emisTmsCostProfit.getParams().put("billCodeSortList", Arrays.asList(billCodeSortList));
}
List<EmisTmsCostProfit> list = emisTmsCostProfitService.selectEmisTmsCostProfitList(emisTmsCostProfit);
return getDataTable(list);
}

View File

@ -72,7 +72,7 @@ public class EmisTransLineController extends EmisBaseController
* 查询线路列表 -- 精简
*/
// @PreAuthorize("@ss.hasPermi('emis:emisTransLine:list')")
@JacksonFilter(include= {"id","lineCode","lineName","lineNameEn","meterRate",},value= EmisTransLine.class,type= JacksonFilter.JscksonFilterType.RESPONSE)
@JacksonFilter(include= {"id","lineCode","lineName","lineNameEn","meterRate","transType"},value= EmisTransLine.class,type= JacksonFilter.JscksonFilterType.RESPONSE)
@GetMapping("/listSimple")
public TableDataInfo listSimple(EmisTransLine emisTransLine)
{
@ -84,6 +84,8 @@ public class EmisTransLineController extends EmisBaseController
emisTransLine.getParams().put("needFilterLogoTyoe","1");
}
startPage();
List<EmisTransLine> list = emisTransLineService.selectEmisTransLineList(emisTransLine);
return getDataTable(list);

View File

@ -130,7 +130,17 @@ public class EmisWaybillAjustApplyController extends EmisBaseController
@PostMapping
public AjaxResult add(@RequestBody EmisWaybillAjustApply emisWaybillAjustApply)
{
return toAjax(emisWaybillAjustApplyService.insertEmisWaybillAjustApply(emisWaybillAjustApply));
try {
return toAjax(emisWaybillAjustApplyService.insertEmisWaybillAjustApply(emisWaybillAjustApply));
}catch (Exception ex){
ex.printStackTrace();
// 返回子定义异常
if(ex instanceof EmisBizError){
return AjaxResult.error(ex.getMessage(),((EmisBizError)ex).getErrorCode());
}
return AjaxResult.error("申请异常,联系客服");
}
}
/**

View File

@ -1075,7 +1075,7 @@ public class EmisWaybillController extends EmisBaseController
jObj.put("result", "success");
// jObj.put("billCodeItem", item);
// jObj.put("file", pdfBase64Data);
String imageUrl="https://api.emis.tanex56.com/api/bizsvr/emis/common/getBillPng/"+uuid;
String imageUrl="https://api-emis.jtrs56.com/api/bizsvr/emis/common/getBillPng/"+uuid;
jObj.put("imageUrl", imageUrl);
jObj.put("fileType", "URL");
@ -1114,7 +1114,7 @@ public class EmisWaybillController extends EmisBaseController
jObj.put("result", "success");
// jObj.put("billCodeItem", item);
// jObj.put("file", pdfBase64Data);
String imageUrl="https://api.emis.tanex56.com/api/bizsvr/emis/common/getBillPng/"+uuid;
String imageUrl="https://api-emis.jtrs56.com/api/bizsvr/emis/common/getBillPng/"+uuid;
jObj.put("imageUrl", imageUrl);
jObj.put("fileType", "URL");

View File

@ -194,6 +194,9 @@ public interface EmisWaybillMapper extends BaseMapper<EmisWaybill>
public int checkWaybillIsSign(@Param("billCode")String billCode);
// 判断是否已经接单
public int checkWaybillIsConfirm(@Param("billCode")String billCode);
/**

View File

@ -78,5 +78,13 @@ public interface IEmisSettlePayRecordService
public int deleteEmisSettlePayRecordById(Long id);
/**
* 账单退款
* @param id
* @return
*/
public int payRecordReturn(Long id) throws EmisBizError;
}

View File

@ -53,7 +53,7 @@ public interface IEmisWaybillAjustApplyService
* @param emisWaybillAjustApply 运单调整申请
* @return 结果
*/
public int insertEmisWaybillAjustApply(EmisWaybillAjustApply emisWaybillAjustApply);
public int insertEmisWaybillAjustApply(EmisWaybillAjustApply emisWaybillAjustApply) throws EmisBizError;
/**
* 修改运单调整申请

View File

@ -38,7 +38,6 @@ import com.xdadan.erp.emis.domain.stat.OpenBillStatInfo;
import com.xdadan.erp.emis.mapper.*;
import com.xdadan.erp.emis.service.EmisBaseService;
import com.xdadan.erp.emis.service.excelCellStrategy.CellStyleStrategy;
import com.xdadan.erp.emis.service.excelCellStrategy.CustomCellWriteHandler;
import com.xdadan.erp.emis.utils.WaybillHelper;
import jodd.util.StringUtil;
import lombok.extern.slf4j.Slf4j;
@ -175,13 +174,12 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
@Override
public int insertEmisSettleBill(EmisSettleBill emisSettleBill) throws EmisBizError {
// 检查子账单是否可加入
if(CollectionUtil.isEmpty(emisSettleBill.getSubBillList())){
throw new EmisBizError(EmisBizErrorType.FAIL,"合账失败,未选择子账单");
}
int cnt=emisSettleBillMapper.checkUnique(emisSettleBill);
if(cnt>1){
int cnt = emisSettleBillMapper.checkUnique(emisSettleBill);
if( cnt > 1 ){
throw new EmisBizError(EmisBizErrorType.FAIL,"账单名称重复");
}
@ -202,8 +200,7 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS
Date sendDate = null;
for (EmisSettleSubBill subBill: emisSettleBill.getSubBillList()
) {
for ( EmisSettleSubBill subBill: emisSettleBill.getSubBillList() ) {
EmisSettleSubBill subBllOld = getSettleSubBillBySubBillNo(subBill.getBillNo());
if(subBllOld==null){
throw new EmisBizError(EmisBizErrorType.FAIL,"合账失败,子账单["+subBllOld.getBillCode()+"]不存在");

View File

@ -166,6 +166,27 @@ public class EmisSettlePayRecordServiceImpl extends EmisBaseService implements I
return 1;
}
/**
* 收款退款
* @param id
* @return
*/
@Override
public int payRecordReturn(Long id) throws EmisBizError {
EmisSettlePayRecord payRecordOld=emisSettlePayRecordMapper.selectEmisSettlePayRecordById(id);
if(payRecordOld==null){
throw new EmisBizError(EmisBizErrorType.FAIL,"收款单不存在!");
}
// 删除收款记录
emisSettlePayRecordMapper.deleteEmisSettlePayRecordById(id);
// 重新计算账单收款
emisSettleBillService.reCalcSettleBillPayStatus(payRecordOld.getSettleBillNo());
return 1;
}
/**

View File

@ -618,6 +618,8 @@ public class EmisTmsScanRecordServiceImpl extends EmisBaseService implements IEm
return itemList;
}
// bug:1454,未开单不允许扫描
// 已签收不允许扫描
boolean isSign = checkWaybillIsSign(mainBillCode);
if (isSign) {

View File

@ -92,8 +92,24 @@ public class EmisWaybillAjustApplyServiceImpl extends EmisBaseService implements
* @return 结果
*/
@Override
public int insertEmisWaybillAjustApply(EmisWaybillAjustApply emisWaybillAjustApply)
{
public int insertEmisWaybillAjustApply(EmisWaybillAjustApply emisWaybillAjustApply) throws EmisBizError {
// 判断单号是否存在
EmisWaybill emisWaybillOld=getWaybillByBillCode(emisWaybillAjustApply.getBillCode());
if(emisWaybillOld==null){
throw new EmisBizError(EmisBizErrorType.FAIL,"运单不存在!");
}
// 如果有待审核的单子,不允许提交新审核
EmisWaybillAjustApply queryCond = new EmisWaybillAjustApply();
queryCond.setBillCode(emisWaybillAjustApply.getBillCode());
queryCond.getParams().put("processStatus","6");
List<EmisWaybillAjustApply> listHasApply=emisWaybillAjustApplyMapper.selectEmisWaybillAjustApplyList(queryCond);
if(!CollectionUtils.isEmpty(listHasApply)){
throw new EmisBizError(EmisBizErrorType.FAIL,"有申请单审核中,待审核后再提交!");
}
// 插入数据
emisWaybillAjustApplyMapper.insertEmisWaybillAjustApply(emisWaybillAjustApply);
SysUser sysUser=getEmisStaffByCode(emisWaybillAjustApply.getApplyManCode());

View File

@ -89,7 +89,7 @@ public class Kd100Helper {
param.put("to", to);
param.put("key", KEY);
JSONObject parameters = new JSONObject();
parameters.put("callbackurl", "http://api.emis.tanex56.com/api/bizsvr/emis/common/notifyTraceByKD100");
parameters.put("callbackurl", "http://api-emis.jtrs56.com/api/bizsvr/emis/common/notifyTraceByKD100");
parameters.put("salt", "tanex56");
parameters.put("phone", phone);
parameters.put("resultv2", "4");

View File

@ -108,6 +108,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and not exists(
select 1 from emis_waybill_problem_info ewpi where a.bill_code=ewpi.bill_code and ewpi.del_flag='0' and ewpi.`problem_type` in(173,170,151)
)
and b.bl_confirm_site != 2
and a.payment_type in('1','3')
and a.trans_line_type=c.line_code
and a.payee=#{salesmen}

View File

@ -273,17 +273,18 @@
<select id="selectOpenBillStatInfoList" parameterType="EmisSettleBill" resultMap="OpenBillStatInfoResult">
select tba.salesmen,
tba.billMonth,
tba.totalBillCount,
tbb.hasOpenBillCount,
tbb.someOpenBillCount,
tbb.noOpenBillCount,
tbb.noNeedOpenBillCount,
select
tba.salesmen,
tba.billMonth,
tba.totalBillCount,
tbb.hasOpenBillCount,
tbb.someOpenBillCount,
tbb.noOpenBillCount,
tbb.noNeedOpenBillCount,
ifnull(tbc.normalOpenBillCount,0) as normalOpenBillCount,
ifnull(tbd.expiredOpenBillCount,0) as expiredOpenBillCount,
tbb.noOpenBillCount as expiredNoOpenBillCount
ifnull(tbc.normalOpenBillCount,0) as normalOpenBillCount,
ifnull(tbd.expiredOpenBillCount,0) as expiredOpenBillCount,
tbb.noOpenBillCount as expiredNoOpenBillCount
from (
select salesmen,bill_month as billMonth,
@ -374,17 +375,22 @@
<if test="paymentStatus != null and paymentStatus != ''"> and a.payment_status = #{paymentStatus}</if>
<if test="params.privSiteCode != null and params.privSiteCode != '88888'">
and (
a.salesmen=#{params.privEmpName}
or a.payee=#{params.privEmpName}
or a.salesmen in(
select salesmen from emis_salesmen_rel esr where esr.del_flag='0' and esr.bl_open='1' and now() <![CDATA[ >= ]]> esr.start_date and now() <![CDATA[ <= ]]> esr.end_date and esr.sales_ass=#{params.privEmpName}
)
a.salesmen=#{params.privEmpName}
or a.payee=#{params.privEmpName}
or a.salesmen in(
select salesmen from emis_salesmen_rel esr where esr.del_flag='0' and esr.bl_open='1' and now() <![CDATA[ >= ]]> esr.start_date and now() <![CDATA[ <= ]]> esr.end_date and esr.sales_ass=#{params.privEmpName}
)
)
</if>
</where>
group by salesmen,bill_month
) tbd on tba.salesmen=tbd.salesmen and tba.billMonth=tbd.billMonth
where 1=1
<if test="params.isNeedRecdInvoice != null and params.isNeedRecdInvoice == 1">
and tbb.noOpenBillCount <![CDATA[ > ]]> 0
</if>
</select>

View File

@ -269,6 +269,11 @@
select count(1) as cnt from emis_waybill where bill_code=#{billCode} and bl_sign='1' limit 1
</select>
<!-- 检查运单号是否已接单 -->
<select id="checkWaybillIsConfirm" parameterType="String" resultType="int">
select count(1) as cnt from emis_waybill where bill_code=#{billCode} and bl_sign='1' limit 1
</select>
<select id="selectCommissionStatData" parameterType="String" resultType="map">
select waybill_status as waybillStatus,count(1) as cnt from emis_waybill