|
@@ -474,6 +474,17 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 查询详情主表列表
|
|
|
+ *
|
|
|
+ * @param tWarehousebills 详情主表
|
|
|
+ * @return 详情主表
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<Map<String, Object>> getWarehouseBusinessList(TWarehouseBills tWarehousebills) {
|
|
|
+ return tWarehouseBillsMapper.selectWarehouseBusinessList(tWarehousebills);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 查询导出所需主表列表
|
|
|
*
|
|
|
* @param tWarehousebills 详情主表
|
|
@@ -1975,6 +1986,164 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
|
return AjaxResult.success();
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 查看其他账务
|
|
|
+ *
|
|
|
+ * @param fId 其他账务id
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public AjaxResult selectOtherFees(Long fId) {
|
|
|
+ TWarehouseBills warehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(fId);
|
|
|
+ if (StringUtils.isNull(warehouseBills)) {
|
|
|
+ return AjaxResult.error("未找到主表信息,请确认该信息是否存在");
|
|
|
+ }
|
|
|
+
|
|
|
+ TWarehousebillsfees fee1 = new TWarehousebillsfees();
|
|
|
+ fee1.setfPid(fId);
|
|
|
+ fee1.setfDc("D");
|
|
|
+ TWarehousebillsfees fee2 = new TWarehousebillsfees();
|
|
|
+ fee2.setfPid(fId);
|
|
|
+ fee2.setfDc("C");
|
|
|
+
|
|
|
+ return AjaxResult.success(new HashMap<String, Object>() {{
|
|
|
+ this.put("warehouseBills", warehouseBills);
|
|
|
+ this.put("feesDrList", tWarehousebillsfeesMapper.selectTWarehousebillsfeesList(fee1));
|
|
|
+ this.put("feesCrList", tWarehousebillsfeesMapper.selectTWarehousebillsfeesList(fee2));
|
|
|
+ }});
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 其他账务保存、提交接口
|
|
|
+ *
|
|
|
+ * @param tWarehouseBills 主表业务
|
|
|
+ * @param feesCr 收费
|
|
|
+ * @param feesDr 付费
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public AjaxResult saveOtherFees(String tWarehouseBills, String feesCr, String feesDr, String type) {
|
|
|
+ TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehouseBills, TWarehouseBills.class);
|
|
|
+ warehouseBills.setfBilltype("QTZW");
|
|
|
+ // 判断提单号是否存在
|
|
|
+ if (StringUtils.isNull(warehouseBills.getfId()) && tWarehouseBillsMapper.selectContainMblno(warehouseBills) > 0) {
|
|
|
+ return AjaxResult.error("该参看编号已存在");
|
|
|
+ }
|
|
|
+ Long billStatus = 2L;
|
|
|
+ if ("add".equals(type)) {
|
|
|
+ billStatus = 6L;
|
|
|
+ warehouseBills.setfReviewDate(warehouseBills.getfBsdate());
|
|
|
+ warehouseBills.setfBillstatus(billStatus);
|
|
|
+ } else {
|
|
|
+ if (StringUtils.isNull(warehouseBills.getfBillstatus())) {
|
|
|
+ warehouseBills.setfBillstatus(billStatus);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (StringUtils.isNull(warehouseBills.getfId())) {
|
|
|
+ warehouseBills.setCreateTime(new Date());
|
|
|
+ warehouseBills.setCreateBy(SecurityUtils.getUsername());
|
|
|
+ warehouseBills.setfDeptid(SecurityUtils.getLoginUser().getUser().getDeptId());
|
|
|
+ warehouseBills.setfBsdeptid(SecurityUtils.getLoginUser().getUser().getDeptId());
|
|
|
+ tWarehouseBillsMapper.insertTWarehousebills(warehouseBills);
|
|
|
+ } else {
|
|
|
+ warehouseBills.setUpdateTime(new Date());
|
|
|
+ warehouseBills.setUpdateBy(SecurityUtils.getUsername());
|
|
|
+ tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
|
|
|
+ }
|
|
|
+
|
|
|
+ tWarehousebillsfeesMapper.deleteByFPid(warehouseBills.getfId());
|
|
|
+ if (StringUtils.isNotEmpty(feesCr) && !"[]".equals(feesCr)) {
|
|
|
+ JSONArray jsonDrArray = JSONArray.parseArray(feesCr);
|
|
|
+ List<TWarehousebillsfees> crs = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsfees.class);
|
|
|
+ int line = 1;
|
|
|
+ for (TWarehousebillsfees cr : crs) {
|
|
|
+ if (StringUtils.isNull(cr.getfCorpid()) || StringUtils.isNull(cr.getfFeeunitid())) {
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return AjaxResult.error("付款费用第" + line + "行,缺少必填信息");
|
|
|
+ }
|
|
|
+ cr.setfDc("C");
|
|
|
+ cr.setfBillstatus(billStatus);
|
|
|
+ cr.setCreateTime(new Date());
|
|
|
+ cr.setfPid(warehouseBills.getfId());
|
|
|
+ cr.setCreateBy(SecurityUtils.getUsername());
|
|
|
+ tWarehousebillsfeesMapper.insertTWarehousebillsfees(cr);
|
|
|
+ line++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(feesDr) && !"[]".equals(feesDr)) {
|
|
|
+ JSONArray jsonDrArray = JSONArray.parseArray(feesDr);
|
|
|
+ List<TWarehousebillsfees> crs = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsfees.class);
|
|
|
+ int line = 1;
|
|
|
+ for (TWarehousebillsfees dr : crs) {
|
|
|
+ if (StringUtils.isNull(dr.getfCorpid()) || StringUtils.isNull(dr.getfFeeunitid())) {
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return AjaxResult.error("收款费用第" + line + "行,缺少必填信息");
|
|
|
+ }
|
|
|
+ dr.setfDc("D");
|
|
|
+ dr.setfBillstatus(billStatus);
|
|
|
+ dr.setCreateTime(new Date());
|
|
|
+ dr.setfPid(warehouseBills.getfId());
|
|
|
+ dr.setCreateBy(SecurityUtils.getUsername());
|
|
|
+ tWarehousebillsfeesMapper.insertTWarehousebillsfees(dr);
|
|
|
+ line++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return AjaxResult.success();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 其他账务撤销
|
|
|
+ *
|
|
|
+ * @param fId 主表id
|
|
|
+ * @param type 类型
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public AjaxResult revokeOtherFees(Long fId, String type) {
|
|
|
+ TWarehouseBills warehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(fId);
|
|
|
+ if (StringUtils.isNull(warehouseBills)) {
|
|
|
+ return AjaxResult.error("未找到主表信息,请确认是否存在");
|
|
|
+ }
|
|
|
+ TWarehousebillsfees fees = new TWarehousebillsfees();
|
|
|
+ fees.setfPid(fId);
|
|
|
+ List<TWarehousebillsfees> feesList = tWarehousebillsfeesMapper.selectTWarehousebillsfeesList(fees);
|
|
|
+ if (StringUtils.isEmpty(feesList)) {
|
|
|
+ return AjaxResult.error("未找到费用信息,请确认是否存在");
|
|
|
+ }
|
|
|
+ for (TWarehousebillsfees fee : feesList) {
|
|
|
+ if (StringUtils.isNotEmpty(fee.getfStatementNo()) || StringUtils.isNotEmpty(fee.getfStlamountNo())) {
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return AjaxResult.error("费用信息存在已对账或已收费付费操作,无法撤销");
|
|
|
+ }
|
|
|
+ if ("remove".equals(type)) {
|
|
|
+ tWarehousebillsfeesMapper.deleteTWarehousebillsfeesById(fee.getfId());
|
|
|
+ } else {
|
|
|
+ fee.setfStatus("2");
|
|
|
+ fee.setUpdateTime(new Date());
|
|
|
+ fee.setUpdateBy(SecurityUtils.getUsername());
|
|
|
+ tWarehousebillsfeesMapper.updateTWarehousebillsfees(fee);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ("remove".equals(type)) {
|
|
|
+ if (warehouseBills.getfBillstatus() != 2L) {
|
|
|
+ return AjaxResult.error("主表状态有误,请确认状态是否为暂存状态");
|
|
|
+ }
|
|
|
+ tWarehouseBillsMapper.deleteTWarehousebillsById(fId);
|
|
|
+ return AjaxResult.success();
|
|
|
+ } else {
|
|
|
+ if (warehouseBills.getfBillstatus() != 6L) {
|
|
|
+ return AjaxResult.error("主表状态有误,请确认状态是否已提交");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ warehouseBills.setfBillstatus(2L);
|
|
|
+ warehouseBills.setUpdateTime(new Date());
|
|
|
+ warehouseBills.setUpdateBy(SecurityUtils.getUsername());
|
|
|
+ tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
|
|
|
+ return AjaxResult.success();
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public AjaxResult importCreateCompanyMsg(MultipartFile file) throws Exception {
|
|
|
List<TWarehousebillsCntritemsExcel> fleetCompanyMsgs = new ArrayList<>();
|