Browse Source

经汉批量更改接口

liyuan 6 months ago
parent
commit
6e43e365d7

+ 183 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/vo/UpdateBillsFieldVo.java

@@ -0,0 +1,183 @@
+package org.springblade.los.business.sea.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.los.utils.LosSpecialHandle;
+
+import javax.validation.constraints.NotEmpty;
+import java.util.List;
+
+/**
+ * @author Rain
+ */
+@Data
+public class UpdateBillsFieldVo {
+
+
+	@NotEmpty(message = "请选择需要修改的数据")
+	private List<Long> ids;
+
+	/**
+	 * 船名 id
+	 */
+	@ApiModelProperty(value = "船名 id")
+	private Long vesselId;
+	/**
+	 * 中文船名
+	 */
+	@ApiModelProperty(value = "中文船名")
+	private String vesselCnName;
+	/**
+	 * 英文船名
+	 */
+	@ApiModelProperty(value = "英文船名")
+	private String vesselEnName;
+	/**
+	 * 航次
+	 */
+	@ApiModelProperty(value = "航次")
+	private String voyageNo;
+
+	/**
+	 * MB/L NO
+	 */
+	@ApiModelProperty(value = "MB/L NO")
+	@LosSpecialHandle(massage = "", space = true, conversion = true)
+	private String mblno;
+
+
+	/**
+	 * 场站 id
+	 */
+	@ApiModelProperty(value = "场站 id")
+	private Long cyId;
+	/**
+	 * 场站代码
+	 */
+	@ApiModelProperty(value = "场站代码")
+	private String cyCode;
+	/**
+	 * 场站中文名称
+	 */
+	@ApiModelProperty(value = "场站简称")
+	private String cyShortName;
+	/**
+	 * 场站中文名称
+	 */
+	@ApiModelProperty(value = "场站中文名称")
+	private String cyCnName;
+	/**
+	 * 场站英文名称
+	 */
+	@ApiModelProperty(value = "场站英文名称")
+	private String cyEnName;
+	/**
+	 * 场站地址
+	 */
+	@ApiModelProperty(value = "场站地址")
+	private String cyAddress;
+	/**
+	 * 场站联系人
+	 */
+	@ApiModelProperty(value = "场站联系人")
+	private String cyContacts;
+	/**
+	 * 场站联系人电话
+	 */
+	@ApiModelProperty(value = "场站联系人电话")
+	private String cyTel;
+	/**
+	 * 场站备注
+	 */
+	@ApiModelProperty(value = "场站备注")
+	private String cyRemarks;
+
+
+
+	/**
+	 * 客户 id
+	 */
+	@ApiModelProperty(value = "客户 id")
+	private Long corpId;
+
+	/**
+	 * 客户中文名称
+	 */
+	@ApiModelProperty(value = "客户中文名称")
+	private String corpCnName;
+	/**
+	 * 客户英文名称
+	 */
+	@ApiModelProperty(value = "客户英文名称")
+	private String corpEnName;
+	/**
+	 * 客户约号
+	 */
+	@ApiModelProperty(value = "客户约号")
+	private String corpArgreementNo;
+	/**
+	 * 简称
+	 */
+	@ApiModelProperty(value = "客户简称")
+	private String shortName;
+	/**
+	 * 简称
+	 */
+	@ApiModelProperty(value = "客户简称,使用 shortName")
+	private String corpShortName;
+
+	/**
+	 * 客户联系人 id
+	 */
+	@ApiModelProperty(value = "客户联系人 id")
+	private Long corpAttnId;
+	/**
+	 * 客户联系人姓名
+	 */
+	@ApiModelProperty(value = "客户联系人姓名")
+	private String corpAttnName;
+	/**
+	 * 客户联系人电话
+	 */
+	@ApiModelProperty(value = "客户联系人电话")
+	private String corpAttnTel;
+	/**
+	 * 客户联系人邮箱
+	 */
+	@ApiModelProperty(value = "客户联系人邮箱")
+	private String corpAttnEmail;
+
+
+
+	/**
+	 * 业务来源
+	 */
+	@ApiModelProperty(value = "业务来源")
+	private String srcType;
+	/**
+	 * 来源 id
+	 */
+	@ApiModelProperty(value = "来源 id")
+	private Long srcId;
+	/**
+	 * 来源中文
+	 */
+	@ApiModelProperty(value = "来源中文")
+	private String srcCnName;
+	/**
+	 * 来源英文
+	 */
+	@ApiModelProperty(value = "来源英文")
+	private String srcEnName;
+	/**
+	 * 来源部门 Id
+	 */
+	@ApiModelProperty(value = "来源部门 Id")
+	private String srcDeptId;
+	/**
+	 * 来源部门
+	 */
+	@ApiModelProperty(value = "来源部门")
+	private String srcDeptName;
+
+}

+ 8 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/BillsController.java

@@ -40,10 +40,12 @@ import org.springblade.los.business.sea.entity.SeaBillsDetail;
 import org.springblade.los.business.sea.service.IBillsService;
 import org.springblade.los.business.sea.service.ISeaBillsDetailService;
 import org.springblade.los.business.sea.vo.BillsVO;
+import org.springblade.los.business.sea.vo.UpdateBillsFieldVo;
 import org.springblade.los.excel.BillsExcel;
 import org.springblade.system.entity.DictBiz;
 import org.springblade.system.feign.IDictBizClient;
 import org.springblade.system.feign.ISysClient;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
@@ -923,5 +925,11 @@ public class BillsController extends BladeController {
 	public R<String> getReceiptUrl(@RequestParam("billId") Long billId) {
 		return billsService.getReceiptUrl(billId);
 	}
+
+
+	@PostMapping("/updateBatchField")
+	public R<String> updateBatchField(@RequestBody @Validated UpdateBillsFieldVo updateBillsFieldVo) {
+		return billsService.updateBatchField(updateBillsFieldVo);
+	}
 }
 

+ 9 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/IBillsService.java

@@ -22,6 +22,7 @@ import org.springblade.los.business.sea.entity.Bills;
 import org.springblade.los.business.sea.vo.BillsVO;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.los.business.sea.vo.UpdateBillsFieldVo;
 
 import java.util.List;
 
@@ -174,4 +175,12 @@ public interface IBillsService extends IService<Bills> {
 	R<String> getReceiptUrl(Long billId);
 
 	R batchCopyBills(String ids, String billType, String copyCntr, String copyFee);
+
+	/**
+	 * 批量更新单据信息
+	 *
+	 * @param updateBillsFieldVo 参数
+	 * @return 结果
+	 */
+	R<String> updateBatchField(UpdateBillsFieldVo updateBillsFieldVo);
 }

+ 41 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/BillsServiceImpl.java

@@ -55,6 +55,7 @@ import org.springblade.los.business.sea.entity.*;
 import org.springblade.los.business.sea.mapper.BillsMapper;
 import org.springblade.los.business.sea.service.*;
 import org.springblade.los.business.sea.vo.BillsVO;
+import org.springblade.los.business.sea.vo.UpdateBillsFieldVo;
 import org.springblade.los.check.dto.LosAuditProecessDTO;
 import org.springblade.los.check.entity.LosAuditPathsActs;
 import org.springblade.los.check.entity.LosAuditPathsLevels;
@@ -3860,4 +3861,44 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 		return R.data("操作成功");
 	}
 
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public R<String> updateBatchField(UpdateBillsFieldVo updateBillsFieldVo) {
+		List<Bills> billsList = baseMapper.selectList(new LambdaQueryWrapper<Bills>().in(Bills::getId, updateBillsFieldVo.getIds()));
+		List<Integer> statusList = Arrays.asList(1, 2, 3);
+		// 筛选不可更改状态的数据
+		Bills notUpdateBills = billsList.stream().filter(e -> !statusList.contains(e.getStatus()) || e.getIsDeleted() == 1).findFirst().orElse(null);
+		if (notUpdateBills != null) {
+			return R.fail("单据编号为" + notUpdateBills.getBillNo() + "的记录不能修改");
+		}
+		for (Bills bills : billsList) {
+			Bills updateBills = new Bills();
+			BeanUtil.copyProperties(updateBillsFieldVo, updateBills);
+			updateBills.setId(bills.getId());
+			updateBills.setBillDate(bills.getBillDate());
+			updateBills.setAccountDate(bills.getAccountDate());
+			updateBills.setBookingDate(bills.getBookingDate());
+			updateBills.setBookingWithdrawTime(bills.getBookingWithdrawTime());
+			updateBills.setEtd(bills.getEtd());
+			updateBills.setEta(bills.getEta());
+			updateBills.setIssueDate(bills.getIssueDate());
+			updateBills.setQuantityCntrDescr(bills.getQuantityCntrDescr());
+			updateBills.setCyTrailerTime(bills.getCyTrailerTime());
+			updateBills.setCyReturnTime(bills.getCyReturnTime());
+			updateBills.setActualEtd(bills.getActualEtd());
+			updateBills.setActualEta(bills.getActualEta());
+			updateBills.setReturnEmptyDate(bills.getReturnEmptyDate());
+			updateBills.setClearanceDate(bills.getClearanceDate());
+			updateBills.setChangeOrderDate(bills.getChangeOrderDate());
+			updateBills.setApprovedDate(bills.getApprovedDate());
+			updateBills.setQuotationMethod(bills.getQuotationMethod());
+			updateBills.setAccountPeriodType(bills.getAccountPeriodType());
+			updateBills.setChargeableWeight(bills.getChargeableWeight());
+			updateBills.setCntrGoodType(bills.getCntrGoodType());
+			baseMapper.updateById(updateBills);
+			log.error("updateBills:{}" + JSONObject.toJSONString(updateBills));
+		}
+		return null;
+	}
+
 }