结算重量修改

product
杨世强 1 year ago
parent 983dcf58d9
commit 302bfabecf

@ -192,6 +192,7 @@ public class ReceiptinController {
for(Receiptin_item0Entity entitys : Receiptin_item0List){
entitys.setId(RandomUtil.uuId());
entitys.setReceiptinId(entity.getId());
entitys.setBatchno(generaterSwapUtil.getBillNumber("receiptin-num", false));
receiptin_item0Service.save(entitys);
}
//采购订单状态为2

@ -9,6 +9,7 @@ import cn.hutool.extra.expression.engine.jfireel.JfireELEngine;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import io.swagger.annotations.Api;
@ -36,11 +37,15 @@ import jnpf.customer.service.CustomerService;
import jnpf.exception.DataException;
import jnpf.materialvo.entity.MaterialEntity;
import jnpf.materialvo.service.MaterialService;
import jnpf.paymentdoc.entity.PaymentdocItem1Entity;
import jnpf.paymentdoc.service.PaymentdocItem1Service;
import jnpf.poundlist.entity.PoundlistEntity;
import jnpf.poundlist.service.PoundlistService;
import jnpf.purchaseorder.entity.Purchaseorder_item0Entity;
import jnpf.purchaseorder.entity.PurchaseorderitemEntity;
import jnpf.purchaseorder.service.Purchaseorder_item0Service;
import jnpf.purchaseorder.service.PurchaseorderitemService;
import jnpf.receiptin.entity.ReceiptinEntity;
import jnpf.receiptin.entity.Receiptin_item0Entity;
import jnpf.receiptin.service.Receiptin_item0Service;
import jnpf.receiptout.entity.ReceiptoutEntity;
@ -57,8 +62,10 @@ import jnpf.vehicle.service.VehicleService;
import jnpf.warehouse.entity.WareHouseEntity;
import jnpf.warehouse.service.WareHouseService;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.RandomUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.BeanUtils;
import org.springframework.security.core.parameters.P;
import org.springframework.transaction.annotation.Transactional;
import jnpf.base.entity.ProvinceEntity;
@ -186,6 +193,11 @@ public class SaleorderitemController {
@Resource
private AccountingMapper accountingMapper;
@Autowired
private Purchaseorder_item0Service purchaseorder_item0Service;
@Autowired
private PaymentdocItem1Service paymentdocItem1Service;
/**
*
@ -521,6 +533,118 @@ public class SaleorderitemController {
return ActionResult.success(vo);
}
@Transactional
public void settlement(List<Salesorder_item0Entity> salesorderItem0List) throws DataException {
for (Salesorder_item0Entity entity : salesorderItem0List){
PoundlistEntity poundlistEntity = poundlistService.getInfo(entity.getPoundlistId());
if (ObjectUtils.isNotEmpty(poundlistEntity)){
//磅单调整
PoundlistEntity poundlistEntityCopy = new PoundlistEntity();
BeanUtils.copyProperties(poundlistEntity, poundlistEntityCopy);
String mainId =RandomUtil.uuId();
poundlistEntityCopy.setSalesStatus("99");
poundlistEntityCopy.setSalesorderId(null);
BigDecimal newSettlement = poundlistEntity.getSettlement().subtract(entity.getSettlement());
poundlistEntityCopy.setSettlement(newSettlement);
poundlistEntityCopy.setPurchaseAmounts(poundlistEntity.getPurchasePrice().multiply(newSettlement).setScale(2,BigDecimal.ROUND_HALF_UP));
poundlistEntityCopy.setSalesAmounts(poundlistEntity.getSalesPrice().multiply(newSettlement).setScale(2,BigDecimal.ROUND_HALF_UP));
poundlistEntityCopy.setSourceId(poundlistEntity.getId());
poundlistEntityCopy.setId(mainId);
poundlistService.save(poundlistEntityCopy);
poundlistEntity.setSettlement(entity.getSettlement());
poundlistEntity.setPurchaseAmounts(poundlistEntity.getPurchaseAmounts().subtract(poundlistEntityCopy.getPurchaseAmounts().setScale(2,BigDecimal.ROUND_HALF_UP)));
poundlistService.updateById(poundlistEntity);
//采购订单调整
LambdaQueryWrapper<Purchaseorder_item0Entity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Purchaseorder_item0Entity::getPoundlistId,poundlistEntity.getId());
Purchaseorder_item0Entity purchaseorder_item0Entity = purchaseorder_item0Service.getOne(queryWrapper);
if (ObjectUtils.isNotEmpty(purchaseorder_item0Entity)){
Purchaseorder_item0Entity purchaseorder_item0EntityCopy = new Purchaseorder_item0Entity();
BeanUtils.copyProperties(purchaseorder_item0Entity,purchaseorder_item0EntityCopy);
purchaseorder_item0Entity.setSettlement(entity.getSettlement());
purchaseorder_item0Entity.setAmount(poundlistEntity.getPurchaseAmounts());
switch (purchaseorder_item0Entity.getRate()) {
case "1":
purchaseorder_item0Entity.setNotAmount(purchaseorder_item0Entity.getAmount().divide(new BigDecimal("1.09"),2,BigDecimal.ROUND_HALF_UP));
break;
case "2":
purchaseorder_item0Entity.setNotAmount(purchaseorder_item0Entity.getAmount().divide(new BigDecimal("1.06"),2,BigDecimal.ROUND_HALF_UP));
break;
case "3":
purchaseorder_item0Entity.setNotAmount(purchaseorder_item0Entity.getAmount().divide(new BigDecimal("1.05"),2,BigDecimal.ROUND_HALF_UP));
break;
case "4":
purchaseorder_item0Entity.setNotAmount(purchaseorder_item0Entity.getAmount().divide(new BigDecimal("1.03"),2,BigDecimal.ROUND_HALF_UP));
break;
case "5":
purchaseorder_item0Entity.setNotAmount(purchaseorder_item0Entity.getAmount().divide(new BigDecimal("1"),2,BigDecimal.ROUND_HALF_UP));
break;
default:
purchaseorder_item0Entity.setNotAmount(purchaseorder_item0Entity.getAmount().divide(new BigDecimal("1.13"),2,BigDecimal.ROUND_HALF_UP));
break;
}
purchaseorder_item0Service.updateById(purchaseorder_item0Entity);
String purchaseItemId =RandomUtil.uuId();
purchaseorder_item0EntityCopy.setId(purchaseItemId);
purchaseorder_item0EntityCopy.setPoundlistId(poundlistEntityCopy.getId());
purchaseorder_item0EntityCopy.setSettlement(poundlistEntityCopy.getSettlement());
purchaseorder_item0EntityCopy.setAmount(poundlistEntityCopy.getPurchaseAmounts());
switch (purchaseorder_item0EntityCopy.getRate()) {
case "1":
purchaseorder_item0EntityCopy.setNotAmount(purchaseorder_item0EntityCopy.getAmount().divide(new BigDecimal("1.09"),2,BigDecimal.ROUND_HALF_UP));
break;
case "2":
purchaseorder_item0EntityCopy.setNotAmount(purchaseorder_item0EntityCopy.getAmount().divide(new BigDecimal("1.06"),2,BigDecimal.ROUND_HALF_UP));
break;
case "3":
purchaseorder_item0EntityCopy.setNotAmount(purchaseorder_item0EntityCopy.getAmount().divide(new BigDecimal("1.05"),2,BigDecimal.ROUND_HALF_UP));
break;
case "4":
purchaseorder_item0EntityCopy.setNotAmount(purchaseorder_item0EntityCopy.getAmount().divide(new BigDecimal("1.03"),2,BigDecimal.ROUND_HALF_UP));
break;
case "5":
purchaseorder_item0EntityCopy.setNotAmount(purchaseorder_item0EntityCopy.getAmount().divide(new BigDecimal("1"),2,BigDecimal.ROUND_HALF_UP));
break;
default:
purchaseorder_item0EntityCopy.setNotAmount(purchaseorder_item0EntityCopy.getAmount().divide(new BigDecimal("1.13"),2,BigDecimal.ROUND_HALF_UP));
break;
}
purchaseorder_item0Service.save(purchaseorder_item0EntityCopy);
//入库单调整
LambdaQueryWrapper<Receiptin_item0Entity> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(Receiptin_item0Entity::getPoundlistId,poundlistEntity.getId());
Receiptin_item0Entity receiptin_item0Entity = receiptin_item0Service.getOne(queryWrapper1);
if (ObjectUtils.isNotEmpty(receiptin_item0Entity)){
Receiptin_item0Entity receiptin_item0EntityCopy = new Receiptin_item0Entity();
BeanUtils.copyProperties(receiptin_item0Entity,receiptin_item0EntityCopy);
receiptin_item0Entity.setNum(entity.getSettlement());
receiptin_item0Entity.setAmount(purchaseorder_item0Entity.getAmount());
receiptin_item0Entity.setRateamount(purchaseorder_item0Entity.getAmount().subtract(purchaseorder_item0Entity.getNotAmount().setScale(2,BigDecimal.ROUND_HALF_UP)));
receiptin_item0Service.updateById(receiptin_item0Entity);
String receiptinItemId = RandomUtil.uuId();
receiptin_item0EntityCopy.setId(receiptinItemId);
receiptin_item0EntityCopy.setPoundlistId(poundlistEntityCopy.getId());
receiptin_item0EntityCopy.setNum(purchaseorder_item0EntityCopy.getSettlement());
receiptin_item0EntityCopy.setAmount(purchaseorder_item0EntityCopy.getAmount());
receiptin_item0EntityCopy.setRateamount(purchaseorder_item0EntityCopy.getAmount().subtract(purchaseorder_item0EntityCopy.getNotAmount().setScale(2,BigDecimal.ROUND_HALF_UP)));
receiptin_item0EntityCopy.setBatchno(generaterSwapUtil.getBillNumber("receiptin-num", false));
receiptin_item0Service.save(receiptin_item0EntityCopy);
}
LambdaQueryWrapper<PaymentdocItem1Entity> queryWrapper2 = new LambdaQueryWrapper<>();
queryWrapper2.eq(PaymentdocItem1Entity::getPoundlistId,poundlistEntity.getId());
PaymentdocItem1Entity paymentdocItem1Entity = paymentdocItem1Service.getOne(queryWrapper2);
if (ObjectUtils.isNotEmpty(paymentdocItem1Entity)){
PaymentdocItem1Entity paymentdocItem1EntityCopy = new PaymentdocItem1Entity();
BeanUtils.copyProperties(paymentdocItem1Entity,paymentdocItem1EntityCopy);
String paymentItemId = RandomUtil.uuId();
paymentdocItem1EntityCopy.setId(paymentItemId);
paymentdocItem1EntityCopy.setPoundlistId(poundlistEntityCopy.getId());
paymentdocItem1Service.save(paymentdocItem1EntityCopy);
}
}
}
}
}
/**
*
@ -543,6 +667,7 @@ public class SaleorderitemController {
}
//先判断磅单是否开进项票
List<Salesorder_item0Entity> Salesorder_item0List = JsonUtil.getJsonToList(saleorderitemCrForm.getSalesorder_item0List(),Salesorder_item0Entity.class);
for (Salesorder_item0Entity salesorder_item0Entity : Salesorder_item0List){
PoundlistEntity poundlistEntity = poundlistService.getInfo(salesorder_item0Entity.getPoundlistId());
if(ObjectUtils.isNotEmpty(poundlistEntity) && poundlistEntity.getPurchaseStatus() != null){
@ -550,6 +675,16 @@ public class SaleorderitemController {
return ActionResult.fail("存在磅单号为【磅单号-"+poundlistEntity.getPoundlistNo()+"】未开票或未入库");
}
}
if(ObjectUtils.isNotEmpty(poundlistEntity) && poundlistEntity.getSettlement() != null){
if (salesorder_item0Entity.getSettlement().compareTo(poundlistEntity.getSettlement()) > 0){
VehicleEntity vehicleEntity = vehicleService.getById(poundlistEntity.getVehicleId());
if (ObjectUtils.isNotEmpty(vehicleEntity)) {
return ActionResult.fail(vehicleEntity.getTicketno() + "结算重量最多只能为" + poundlistEntity.getSettlement());
}
}else if (salesorder_item0Entity.getSettlement().compareTo(poundlistEntity.getSettlement()) < 0){
settlement(Salesorder_item0List);
}
}
}
String mainId =RandomUtil.uuId();
UserInfo userInfo=userProvider.get();
@ -1088,6 +1223,20 @@ public class SaleorderitemController {
}else{
return ActionResult.fail("账期不存在,无法在此区间开展业务");
}
List<Salesorder_item0Entity> Salesorder_item0List = JsonUtil.getJsonToList(saleorderitemUpForm.getSalesorder_item0List(),Salesorder_item0Entity.class);
for (Salesorder_item0Entity salesorder_item0Entity : Salesorder_item0List){
PoundlistEntity poundlistEntity = poundlistService.getInfo(salesorder_item0Entity.getPoundlistId());
if(ObjectUtils.isNotEmpty(poundlistEntity) && poundlistEntity.getSettlement() != null){
if (salesorder_item0Entity.getSettlement().compareTo(poundlistEntity.getSettlement()) > 0){
VehicleEntity vehicleEntity = vehicleService.getById(poundlistEntity.getVehicleId());
if (ObjectUtils.isNotEmpty(vehicleEntity)) {
return ActionResult.fail(vehicleEntity.getTicketno() + "结算重量最多只能为" + poundlistEntity.getSettlement());
}
}else if (salesorder_item0Entity.getSettlement().compareTo(poundlistEntity.getSettlement()) < 0){
settlement(Salesorder_item0List);
}
}
}
UserInfo userInfo=userProvider.get();
SaleorderitemEntity entity= saleorderitemService.getInfo(id);
if(entity!=null){
@ -1100,11 +1249,11 @@ public class SaleorderitemController {
Salesorder_item0queryWrapper.lambda().eq(Salesorder_item0Entity::getSalesOrderId, entity.getId());
salesorder_item0Service.remove(Salesorder_item0queryWrapper);
List<Salesorder_item0Entity> Salesorder_item0List = JsonUtil.getJsonToList(saleorderitemUpForm.getSalesorder_item0List(),Salesorder_item0Entity.class);
for(Salesorder_item0Entity entitys : Salesorder_item0List){
if (entitys.getUnitPrice() != null && entitys.getPoundlistId() !=null) {
PoundlistEntity poundlistEntity = new PoundlistEntity();
poundlistEntity.setSalesPrice(entitys.getUnitPrice());
poundlistEntity.setSalesAmounts(entitys.getPrice());
poundlistEntity.setId(entitys.getPoundlistId());
poundlistService.updateById(poundlistEntity);
}

@ -291,7 +291,7 @@
<el-table-column prop="settlement" label="结算重量" align="center" width="130">
<template slot-scope="scope">
<el-input v-model="scope.row.settlement"
placeholder="请输入" clearable :style='{"width":"100%"}' disabled>
placeholder="请输入" clearable :style='{"width":"100%"}' @change="editSettlement(scope.row)">
</el-input>
</template>
</el-table-column>
@ -935,6 +935,34 @@
this.dataForm.price = price
this.dataForm.notPrice = notPrice
},
editSettlement(row){
var advanceAmount = 0
var settlement = 0
var price = 0
var notPrice = 0
var rate = 13
this.taxRateOptions.forEach((item, index) => {
if (item.id == row.rate) {
rate = parseInt(item.fullName)
}
})
this.dataForm.salesorder_item0List.forEach((item, index) => {
if (row.vehicleId == item.vehicleId) {
item.price = this.jnpf.floatMul(item.settlement, item.unitPrice).toFixed(2)//
item.noPrice = this.jnpf.floatDiv(item.price, this.jnpf.floatAdd(1, this.jnpf.floatDiv(rate, 100))).toFixed(2)//
}
if (item.advance == '1') {//
advanceAmount = this.jnpf.floatAdd(advanceAmount, item.price)//
}
settlement = this.jnpf.floatAdd(settlement, item.settlement)//
price = this.jnpf.floatAdd(price, item.price)//
notPrice = this.jnpf.floatAdd(notPrice, item.noPrice)//
})
this.dataForm.advanceAmount = advanceAmount
this.dataForm.num = settlement
this.dataForm.price = price
this.dataForm.notPrice = notPrice
},
getSummaries(param) {
const { columns, data } = param
const sums = []

@ -228,7 +228,7 @@
<el-table-column prop="settlement" label="结算重量" align="center" width="130">
<template slot-scope="scope">
<el-input v-model="scope.row.settlement"
placeholder="请输入" clearable :style='{"width":"100%"}' disabled>
placeholder="请输入" clearable :style='{"width":"100%"}' @change="editSettlement(scope.row)">
</el-input>
</template>
</el-table-column>
@ -846,7 +846,6 @@
this.dataForm.notPrice = notPrice
},
editUnitPrice(row) {
debugger
var advanceAmount = 0;
var price = 0;
var notPrice = 0;
@ -860,10 +859,10 @@
})
}
item.price = this.jnpf.floatMul(item.unitPrice,item.settlement);//
debugger
this.taxRateOptions.forEach((item2) => {
if (item2.id == row.rate) {
item.noPrice = this.jnpf.floatDiv(this.jnpf.floatMul(item.price,(this.jnpf.floatSub(100,item2.fullName))), 100);//
// item.noPrice = this.jnpf.floatDiv(this.jnpf.floatMul(item.price,(this.jnpf.floatSub(100,item2.fullName))), 100);//
item.noPrice = this.jnpf.floatDiv(item.price,this.jnpf.floatAdd(1, this.jnpf.floatDiv(item2.fullName, 100))).toFixed(2);//
}
});
}
@ -895,6 +894,34 @@
// })
// })
},
editSettlement(row){
var advanceAmount = 0
var settlement = 0
var price = 0
var notPrice = 0
var rate = 13
this.taxRateOptions.forEach((item, index) => {
if (item.id == row.rate) {
rate = parseInt(item.fullName)
}
})
this.dataForm.salesorder_item0List.forEach((item, index) => {
if (row.vehicleId == item.vehicleId) {
item.price = this.jnpf.floatMul(item.settlement, item.unitPrice).toFixed(2)//
item.noPrice = this.jnpf.floatDiv(item.price, this.jnpf.floatAdd(1, this.jnpf.floatDiv(rate, 100))).toFixed(2)//
}
if (item.advance == '1') {//
advanceAmount = this.jnpf.floatAdd(advanceAmount, item.price)//
}
settlement = this.jnpf.floatAdd(settlement, item.settlement)//
price = this.jnpf.floatAdd(price, item.price)//
notPrice = this.jnpf.floatAdd(notPrice, item.noPrice)//
})
this.dataForm.advanceAmount = advanceAmount
this.dataForm.num = settlement
this.dataForm.price = price
this.dataForm.notPrice = notPrice
},
computeNoPrice() {
let notPrice = 0;
for (let i = 0; i < this.dataForm.salesorder_item0List.length; i++) {

Loading…
Cancel
Save