|
@@ -23,6 +23,8 @@ import com.ruoyi.warehouseBusiness.mapper.TWarehousebillsfeesMapper;
|
|
|
import com.ruoyi.warehouseBusiness.service.impl.BillnoSerialServiceImpl;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.*;
|
|
@@ -59,6 +61,7 @@ public class TFeeServiceImpl implements ITFeeService {
|
|
|
@Autowired
|
|
|
private TWarehousebillsfeesMapper tWarehousebillsfeesMapper;
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
* 查询财务数据主
|
|
|
*
|
|
@@ -290,6 +293,7 @@ public class TFeeServiceImpl implements ITFeeService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public AjaxResult confirm(String tfee, String tfeeDo, LoginUser loginUser, String fBilltype) {
|
|
|
// 更新 主表、从表
|
|
|
TFee tFee = JSONArray.parseObject(tfee, TFee.class);
|
|
@@ -307,38 +311,68 @@ public class TFeeServiceImpl implements ITFeeService {
|
|
|
tFeeDo.setCreateBy(loginUser.getUser().getUserName());
|
|
|
tFeeDo.setCreateTime(new Date());
|
|
|
tFeeDoMapper.insertTFeeDo(tFeeDo);
|
|
|
+ // 跟新费用明细
|
|
|
+ int m = updateBillsFees(tFee.getfId(),tFeeDo,fBilltype);
|
|
|
+ if (m == 0) {
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return AjaxResult.error("更新费用明细失败");
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- // 更新费用明细
|
|
|
- updateBillsFees(tFee.getfId(),fBilltype);
|
|
|
-
|
|
|
// 审批流程
|
|
|
|
|
|
+ return AjaxResult.success();
|
|
|
+ }
|
|
|
|
|
|
-
|
|
|
- return null;
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public AjaxResult revoke(String tfee, String tfeeDo, LoginUser loginUser, String fBilltype) {
|
|
|
+ // 更新 主表、从表
|
|
|
+ TFee tFee = JSONArray.parseObject(tfee, TFee.class);
|
|
|
+ tFee.setUpdateBy(loginUser.getUser().getUserName());
|
|
|
+ tFee.setUpdateTime(new Date());
|
|
|
+ tFeeMapper.updateTFee(tFee);
|
|
|
+ // 删除从表
|
|
|
+ tFeeDoMapper.deleteByFPid(tFee.getfId());
|
|
|
+ // 财务从表
|
|
|
+ if (StringUtils.isNotNull(tfeeDo)) {
|
|
|
+ JSONArray jsonDrArray = JSONArray.parseArray(tfeeDo);
|
|
|
+ List<TFeeDo> tFeeDoList = JSONObject.parseArray(jsonDrArray.toJSONString(), TFeeDo.class);
|
|
|
+ for (TFeeDo tFeeDo : tFeeDoList) {
|
|
|
+ tFeeDo.setfPid(tFee.getfId());
|
|
|
+ tFeeDo.setCreateBy(loginUser.getUser().getUserName());
|
|
|
+ tFeeDo.setCreateTime(new Date());
|
|
|
+ tFeeDoMapper.insertTFeeDo(tFeeDo);
|
|
|
+ // 跟新费用明细
|
|
|
+ int m = updateBillsFees(tFee.getfId(),tFeeDo,fBilltype);
|
|
|
+ if (m == 0) {
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return AjaxResult.error("更新费用明细失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return AjaxResult.success();
|
|
|
}
|
|
|
|
|
|
- public void updateBillsFees(Long fid,String billsType){
|
|
|
+ /**
|
|
|
+ * 更新费用明细
|
|
|
+ * @param fid
|
|
|
+ * @param tFeeDo
|
|
|
+ * @param billsType
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Transactional
|
|
|
+ public int updateBillsFees(Long fid,TFeeDo tFeeDo,String billsType){
|
|
|
// 查询从表数据
|
|
|
TFee tFee=tFeeMapper.selectTFeeById(fid);
|
|
|
- TFeeDo tFeeDo = new TFeeDo();
|
|
|
- tFeeDo.setfPid(fid);
|
|
|
- List<TFeeDo> tFeeDoList= tFeeDoMapper.selectTFeeDoList(tFeeDo);
|
|
|
- // 更新费用明细
|
|
|
- for (TFeeDo tFeeDo1 : tFeeDoList ){
|
|
|
- // 查询仓库费用明细表数据
|
|
|
- TWarehousebillsfees tWarehousebillsfees=new TWarehousebillsfees();
|
|
|
- tWarehousebillsfees.setfId(tFeeDo1.getfSrcid());
|
|
|
- if(billsType.equals("DZ")){
|
|
|
- tWarehousebillsfees.setfStatementNo(tFee.getfBillno());
|
|
|
- tWarehousebillsfees.setfAccamountDate(tFee.getfAccbilldate());
|
|
|
- } else {
|
|
|
- tWarehousebillsfees.setfStlamountNo(tFee.getfBillno());
|
|
|
- // tWarehousebillsfees.setfStlamount();
|
|
|
- tWarehousebillsfees.setfStlamountDate(tFee.getfAccbilldate());
|
|
|
- }
|
|
|
+ if(billsType.equals("SF") || billsType.equals("FF")){
|
|
|
+ billsType="DC";
|
|
|
}
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("tFee", tFee);
|
|
|
+ map.put("billType", billsType);
|
|
|
+ map.put("tFeeDo", tFeeDo);
|
|
|
+ return tWarehousebillsfeesMapper.updateTWarehousebillsfee(map);
|
|
|
}
|
|
|
|
|
|
|