This commit is contained in:
linfso 2024-09-02 21:26:52 +08:00
parent 1ec3ddffc8
commit 122aae545d
2 changed files with 57 additions and 15 deletions

View File

@ -11,12 +11,11 @@
package com.xdadan.erp.web.emis;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.time.temporal.ChronoUnit;
import java.util.*;
import javax.servlet.http.HttpServletResponse;
import com.xdadan.erp.common.utils.DateUtils;
import com.xdadan.erp.emis.domain.*;
import com.xdadan.erp.emis.domain.enumtype.EmisBizErrorType;
import com.xdadan.erp.emis.domain.exception.EmisBizError;
@ -396,6 +395,7 @@ public class EmisSettleSubBillController extends EmisBaseController
/**
* 站点确认账单
*/
@ -408,6 +408,24 @@ public class EmisSettleSubBillController extends EmisBaseController
for(int i=0;i<ids.length;i++){
try {
long id=ids[i];
// 目的地是中国时需要 4天后才可以确认
EmisSettleSubBill old=emisSettleSubBillService.selectEmisSettleSubBillById(id);
if(old==null){
return AjaxResult.error("账单不存在:"+old.getBillCode());
}
if("0086".equals(old.getWaybillDetail().getReceiveCountry())){
Date sendDate=WaybillHelper.removeTimeHMS(old.getWaybillDetail().getSendDate());
Date now=WaybillHelper.removeTimeHMS(new Date());
Long num=now.getTime()-sendDate.getTime();//时间戳相差的毫秒数
int dayDiff=(int)(num/24/60/60/1000);
if(dayDiff<4){
return AjaxResult.error("账单未到出账确认时间,不允许处理:"+old.getBillCode());
}
}
EmisSettleSubBill emisSettleSubBill = new EmisSettleSubBill();
emisSettleSubBill.setConfirmSiteManCode(getLoginUser().getUser().getEmpCode());
emisSettleSubBill.setConfirmSiteCode(getLoginUser().getUser().getOwnerSiteCode());

View File

@ -6,10 +6,9 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.serializer.ValueFilter;
import com.xdadan.erp.common.utils.DBUtil;
import com.xdadan.erp.common.core.domain.AjaxResult;
import com.xdadan.erp.common.utils.*;
import com.xdadan.erp.common.utils.HTTPHelperV3;
import com.xdadan.erp.common.utils.ServletUtils;
import com.xdadan.erp.common.utils.StringUtils;
import com.xdadan.erp.emis.domain.enumtype.EmisBizErrorType;
import com.xdadan.erp.emis.domain.exception.EmisBizError;
import lombok.extern.slf4j.Slf4j;
@ -316,6 +315,22 @@ public class WaybillHelper {
}
/**
* 去除时分秒
* @param date
* @return
*/
public static Date removeTimeHMS(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
return calendar.getTime();
}
/**
* 字符串是否包含中文
*
@ -371,15 +386,24 @@ public class WaybillHelper {
public static void main(String[] args) {
try {
String m1="江苏省南京市建邺区云龙山路68号苏美达国际大厦21楼";
System.out.println(m1);
List<String> m1List = WaybillHelper.wrap(m1,48);
System.out.println(JSON.toJSONString(m1List));
// try {
//// String m1="江苏省南京市建邺区云龙山路68号苏美达国际大厦21楼";
//// System.out.println(m1);
//// List<String> m1List = WaybillHelper.wrap(m1,48);
//// System.out.println(JSON.toJSONString(m1List));
////
//// } catch (Exception e) {
//// e.printStackTrace();
//// }
Date sendDate=WaybillHelper.removeTimeHMS(new Date());
sendDate = DateUtils.addDays(sendDate,-4);
Date now=WaybillHelper.removeTimeHMS(new Date());
Long num=now.getTime()-sendDate.getTime();//时间戳相差的毫秒数
int dayDiff=(int)(num/24/60/60/1000);
System.out.println(dayDiff);
} catch (Exception e) {
e.printStackTrace();
}
}