|
@@ -8,6 +8,7 @@ import com.alibaba.fastjson.JSONObject;
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
import com.ruoyi.approvalFlow.domain.AuditItems;
|
|
import com.ruoyi.approvalFlow.domain.AuditItems;
|
|
import com.ruoyi.approvalFlow.mapper.AuditItemsMapper;
|
|
import com.ruoyi.approvalFlow.mapper.AuditItemsMapper;
|
|
|
|
+import com.ruoyi.approvalFlow.mapper.AuditItemsUsersMapper;
|
|
import com.ruoyi.approvalFlow.service.impl.AuditItemsServiceImpl;
|
|
import com.ruoyi.approvalFlow.service.impl.AuditItemsServiceImpl;
|
|
import com.ruoyi.basicData.domain.*;
|
|
import com.ruoyi.basicData.domain.*;
|
|
import com.ruoyi.basicData.mapper.*;
|
|
import com.ruoyi.basicData.mapper.*;
|
|
@@ -75,6 +76,7 @@ import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import java.io.*;
|
|
import java.io.*;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
|
+import java.math.BigInteger;
|
|
import java.math.RoundingMode;
|
|
import java.math.RoundingMode;
|
|
import java.text.ParseException;
|
|
import java.text.ParseException;
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
@@ -200,6 +202,8 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
private TCntrtrackingMapper tCntrtrackingMapper;
|
|
private TCntrtrackingMapper tCntrtrackingMapper;
|
|
@Autowired
|
|
@Autowired
|
|
private TCtnpriceItemsMapper tCtnpriceItemsMapper;
|
|
private TCtnpriceItemsMapper tCtnpriceItemsMapper;
|
|
|
|
+ @Autowired
|
|
|
|
+ private AuditItemsUsersMapper auditItemsUsersMapper;
|
|
|
|
|
|
private static final Logger log = LoggerFactory.getLogger(AddressUtils.class);
|
|
private static final Logger log = LoggerFactory.getLogger(AddressUtils.class);
|
|
|
|
|
|
@@ -2693,6 +2697,12 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
if (StringUtils.isNotNull(mblno) && !mblno.getfId().equals(warehouseBills.getfId())) {
|
|
if (StringUtils.isNotNull(mblno) && !mblno.getfId().equals(warehouseBills.getfId())) {
|
|
return AjaxResult.error("提单号已存在,请重新提交");
|
|
return AjaxResult.error("提单号已存在,请重新提交");
|
|
}
|
|
}
|
|
|
|
+ AjaxResult ajaxResult = this.changeFees(warehouseBills.getfId());
|
|
|
|
+ String codeMessage = ajaxResult.get("code").toString();
|
|
|
|
+ if ("500".equals(codeMessage)) {
|
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
|
+ return ajaxResult;
|
|
|
|
+ }
|
|
TWarehouseBills tWarehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(warehouseBills.getfId());
|
|
TWarehouseBills tWarehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(warehouseBills.getfId());
|
|
if (tWarehouseBills.getfBillstatus() != 11L) {
|
|
if (tWarehouseBills.getfBillstatus() != 11L) {
|
|
return AjaxResult.error("订单未审核完成,暂不支持维护提单号");
|
|
return AjaxResult.error("订单未审核完成,暂不支持维护提单号");
|
|
@@ -7152,6 +7162,104 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
return AjaxResult.success(warehouseBillsVOList);
|
|
return AjaxResult.success(warehouseBillsVOList);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ @Transactional
|
|
|
|
+ public AjaxResult cancellationFees(String tWarehousebills, String tWarehousebillsCntr, String tWarehousebillsCntritems, String tWarehousebillsfeesCr, String tWarehousebillsfeesDr, LoginUser loginUser, String billsType) {
|
|
|
|
+ long actId = 460;
|
|
|
|
+ Long billStatus = 2L;
|
|
|
|
+ TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehousebills, TWarehouseBills.class);
|
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
|
+ TWarehouseBills tWarehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(warehouseBills.getfId());
|
|
|
|
+ if (tWarehouseBills == null){
|
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
|
+ return AjaxResult.error("找不到订单信息");
|
|
|
|
+ }
|
|
|
|
+ AjaxResult ajaxResult = this.changeFees(warehouseBills.getfId());
|
|
|
|
+ String code = ajaxResult.get("code").toString();
|
|
|
|
+ if ("500".equals(code)) {
|
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
|
+ return ajaxResult;
|
|
|
|
+ }
|
|
|
|
+ warehouseBills.setfTimes(tWarehouseBills.getfTimes() - 1);
|
|
|
|
+ Integer integer = tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
|
|
|
|
+ map.put("tWarehouseBills", tWarehouseBills);
|
|
|
|
+ if (StringUtils.isNotEmpty(tWarehousebillsCntritems)) {
|
|
|
|
+ JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsCntritems);
|
|
|
|
+ List<TWarehousebillsCntritems> tWarehousebillsCntritemsList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsCntritems.class);
|
|
|
|
+ map.put("tWarehousebillsCntritemsList", tWarehousebillsCntritemsList);
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotNull(tWarehousebillsfeesCr) && !"[]".equals(tWarehousebillsfeesCr)) {
|
|
|
|
+ JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsfeesCr);
|
|
|
|
+ List<TWarehousebillsfees> warehousebillsfeesCrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsfees.class);
|
|
|
|
+ for (TWarehousebillsfees wbCr : warehousebillsfeesCrList) {
|
|
|
|
+ if (wbCr.getfId() == null){
|
|
|
|
+ wbCr.setfPid(warehouseBills.getfId());
|
|
|
|
+ wbCr.setfDc("C");
|
|
|
|
+ wbCr.setfBilltype(billsType);
|
|
|
|
+ wbCr.setfBillstatus(billStatus);
|
|
|
|
+ wbCr.setCreateTime(new Date());
|
|
|
|
+ wbCr.setSrcBillNo(tWarehouseBills.getfBillno());
|
|
|
|
+ wbCr.setCreateBy(loginUser.getUser().getUserName());
|
|
|
|
+ //wbCr.setfChargedate(warehouseBills.getfChargedate());
|
|
|
|
+ //wbCr.setfBillingDeadline(warehouseBills.getfChargedate());
|
|
|
|
+ if (warehouseBills.getfBsdate() != null && !warehouseBills.getfBsdate().equals("")) {
|
|
|
|
+ wbCr.setfBsdate(warehouseBills.getfBsdate());
|
|
|
|
+ }
|
|
|
|
+ tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbCr);
|
|
|
|
+ }else {
|
|
|
|
+ wbCr.setfBillstatus(billStatus);
|
|
|
|
+ wbCr.setUpdateBy(loginUser.getUser().getUserName());
|
|
|
|
+ wbCr.setUpdateTime(new Date());
|
|
|
|
+ tWarehousebillsfeesMapper.updateTWarehousebillsfees(wbCr);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ map.put("warehousebillsfeesCrList", warehousebillsfeesCrList);
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotNull(tWarehousebillsfeesDr) && !"[]".equals(tWarehousebillsfeesDr)) {
|
|
|
|
+ JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsfeesDr);
|
|
|
|
+ List<TWarehousebillsfees> warehousebillsfeesDrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsfees.class);
|
|
|
|
+ for (TWarehousebillsfees wbDr : warehousebillsfeesDrList) {
|
|
|
|
+ if (wbDr.getfId() == null){
|
|
|
|
+ wbDr.setfPid(warehouseBills.getfId());
|
|
|
|
+ wbDr.setfDc("D");
|
|
|
|
+ wbDr.setfBillstatus(billStatus);
|
|
|
|
+ wbDr.setfBilltype(billsType);
|
|
|
|
+ wbDr.setCreateTime(new Date());
|
|
|
|
+ wbDr.setSrcBillNo(tWarehouseBills.getfBillno());
|
|
|
|
+ wbDr.setCreateBy(loginUser.getUser().getUserName());
|
|
|
|
+ //wbDr.setfChargedate(warehouseBills.getfChargedate());
|
|
|
|
+ //wbDr.setfBillingDeadline(warehouseBills.getfChargedate());
|
|
|
|
+ if (warehouseBills.getfBsdate() != null && !warehouseBills.getfBsdate().equals("")) {
|
|
|
|
+ wbDr.setfBsdate(warehouseBills.getfBsdate());
|
|
|
|
+ }
|
|
|
|
+ tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbDr);
|
|
|
|
+ }else {
|
|
|
|
+ wbDr.setfBillstatus(billStatus);
|
|
|
|
+ wbDr.setUpdateTime(new Date());
|
|
|
|
+ wbDr.setUpdateBy(loginUser.getUser().getUserName());
|
|
|
|
+ tWarehousebillsfeesMapper.updateTWarehousebillsfees(wbDr);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ map.put("warehousebillsfeesDrList", warehousebillsfeesDrList);
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotEmpty(tWarehousebillsCntr) && !"[]".equals(tWarehousebillsCntr)) {
|
|
|
|
+ JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsCntr);
|
|
|
|
+ List<TWarehousebillsCntr> tWarehousebillsCntrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsCntr.class);
|
|
|
|
+ map.put("tWarehousebillsCntrList", tWarehousebillsCntrList);
|
|
|
|
+ }
|
|
|
|
+ //删除审批流
|
|
|
|
+ //1.查找审批流
|
|
|
|
+ AuditItems auditItems = new AuditItems();
|
|
|
|
+ auditItems.setActId(actId);
|
|
|
|
+ auditItems.setBillId(warehouseBills.getfId());
|
|
|
|
+ auditItems.setId(warehouseBills.getfId());
|
|
|
|
+ auditItems.setFidStatus("f_billstatus");
|
|
|
|
+ //删除审批流信息
|
|
|
|
+ auditItemsMapper.deletePurchaseApproval(auditItems);
|
|
|
|
+
|
|
|
|
+ return AjaxResult.success("success", map);
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 如果是入库
|
|
* 如果是入库
|
|
*
|
|
*
|
|
@@ -7341,5 +7449,28 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 能否修改费用信息
|
|
|
|
+ * @param id 订单主表id
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ private AjaxResult changeFees(Long id){
|
|
|
|
+ List<TWarehousebillsfees> warehousebillsfees = tWarehousebillsfeesMapper.selectFeesByPId(id, null);
|
|
|
|
+ if (CollectionUtils.isNotEmpty(warehousebillsfees)){
|
|
|
|
+ for (TWarehousebillsfees warehousebillsfee : warehousebillsfees) {
|
|
|
|
+ if (warehousebillsfee.getfAccamount() != null && warehousebillsfee.getfAccamount().compareTo(new BigDecimal(BigInteger.ZERO)) ==1){
|
|
|
|
+ return AjaxResult.error("费用已对账");
|
|
|
|
+ }
|
|
|
|
+ if (warehousebillsfee.getfStlamount() != null && warehousebillsfee.getfStlamount().compareTo(new BigDecimal(BigInteger.ZERO)) ==1){
|
|
|
|
+ return AjaxResult.error("费用已收费付费");
|
|
|
|
+ }
|
|
|
|
+ if (warehousebillsfee.getfInvamount() != null && warehousebillsfee.getfInvamount().compareTo(new BigDecimal(BigInteger.ZERO)) ==1){
|
|
|
|
+ return AjaxResult.error("费用已开票");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return AjaxResult.success();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
}
|
|
}
|