This commit is contained in:
linfso 2024-06-03 18:16:37 +08:00
parent 2e4b29aac0
commit ccc46f2193

View File

@ -11,8 +11,18 @@
package com.xdadan.erp.web.emis;
import java.util.List;
import java.util.*;
import javax.servlet.http.HttpServletResponse;
import com.xdadan.erp.common.utils.DateUtils;
import com.xdadan.erp.emis.domain.EmisWaybill;
import com.xdadan.erp.emis.domain.enumtype.ScanType;
import com.xdadan.erp.emis.domain.enumtype.WaybillAttachType;
import com.xdadan.erp.emis.domain.enumtype.WaybillStatus;
import com.xdadan.erp.emis.domain.exception.EmisBizError;
import com.xdadan.erp.emis.domain.vo.scan.ScanInfo;
import com.xdadan.erp.emis.service.EmisBaseService;
import com.xdadan.erp.emis.service.IEmisTmsScanRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
@ -48,6 +58,12 @@ public class EmisWaybillAttachmentController extends BaseController
@Autowired
private IEmisWaybillAttachmentService emisWaybillAttachmentService;
@Autowired
private EmisBaseService emisBaseService;
@Autowired
private IEmisTmsScanRecordService emisTmsScanRecordService;
/**
* 查询运单附件列表
*/
@ -91,8 +107,70 @@ public class EmisWaybillAttachmentController extends BaseController
@PostMapping
public AjaxResult add(@RequestBody EmisWaybillAttachment emisWaybillAttachment)
{
// 1-揽收底单
return toAjax(emisWaybillAttachmentService.insertEmisWaybillAttachment(emisWaybillAttachment));
// 1-揽收底单 2-签收底单
if(WaybillAttachType.SIGNED_PIC.typeCode.equals(emisWaybillAttachment.getAttachType())){
// 检查运单是否签收,如果没有签收需要做图片签收
EmisWaybill waybill=emisBaseService.getWaybillByBillCode(emisWaybillAttachment.getBillCode());
if(waybill==null){
return AjaxResult.error("运单不存在");
}
// 签收扫描登记
/*
{
"scanType": "50",
"opType":"1-检查 2-确认",
"scanData": [
{
"billCode": "T001,T002,T002",
"signMan": "签收人",
"picUrl": "签收图片,逗号隔开",
"remark": "签收备注",
"scanDate":"2024-05-02 12:03:05",
"scanWeight": "0.2"
}
]
}
*/
if(WaybillStatus.SIGNED.statusCode.equals(waybill.getWaybillStatus()))
{
ScanInfo scanInfo = new ScanInfo();
List<Map<String,Object>> scanDataList = new ArrayList<>();
scanInfo.setOpType(2);
scanInfo.setScanType(ScanType.SIGNED.opCode);
Map<String,Object> scanDateItem = new HashMap<>();
scanDateItem.put("billCode",waybill.getBillCode());
scanDateItem.put("signMan","已签收");
scanDateItem.put("picUrl",emisWaybillAttachment.getFileUrl());
scanDateItem.put("remark","图片签收");
scanDateItem.put("scanDate", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,new Date()));
scanDateItem.put("scanWeight", "0.0");
scanDataList.add(scanDateItem);
scanInfo.setScanData(scanDataList);
try {
emisTmsScanRecordService.scan(scanInfo);
} catch (EmisBizError emisBizError) {
emisBizError.printStackTrace();
return AjaxResult.error(emisBizError.getMessage());
}catch (Exception e) {
e.printStackTrace();
return AjaxResult.error("上传异常!");
}
return AjaxResult.success("上传成功");
}else{
// 上传签收图片
return toAjax(emisWaybillAttachmentService.insertEmisWaybillAttachment(emisWaybillAttachment));
}
}else {
return toAjax(emisWaybillAttachmentService.insertEmisWaybillAttachment(emisWaybillAttachment));
}
}
/**