添加盘点单接口

This commit is contained in:
yangjun 2025-12-11 14:55:19 +08:00
parent 6633fa5dd8
commit 8b9a4940de
5 changed files with 126 additions and 6 deletions

View File

@ -113,4 +113,20 @@ public class InvoicingPddApi {
List<Map<String,String>> pageList = pddApi.queryPddStartByList(invoicingPddInfoEntity);
return Result.OK(pageList);
}
@ApiOperation(value="盘点单-作废盘点单", notes="盘点单-作废盘点单")
@AutoLog(value = "盘点单-作废盘点单",clientType="app", operateType = 2)
@PostMapping(value = "/voidedPddMain")
public Result<Object> voidedPddMain(@RequestBody InvoicingPddMainEntity invoicingPddMainEntity) {
if(StringUtils.isBlank(invoicingPddMainEntity.getId())){
return Result.error("参数错误,请选择盘点单");
}
Map<String,Object> result = pddApi.voidedPddMain(invoicingPddMainEntity);
if (StringUtils.equals("true",result.get("success").toString())){
return Result.OK(result.get("message"));
}else{
return Result.error(result.get("message").toString());
}
}
}

View File

@ -20,4 +20,6 @@ public interface IPddApi {
Map<String, Object> submitPddMain(InvoicingPddMainEntity invoicingPddMainEntity);
List<Map<String,String>> queryPddStartByList(InvoicingPddInfoEntity invoicingPddInfoEntity);
Map<String, Object> voidedPddMain(InvoicingPddMainEntity invoicingPddMainEntity);
}

View File

@ -77,9 +77,9 @@ public class NuInvoicingPddInfo implements Serializable {
@Excel(name = "差额数量", width = 15)
@ApiModelProperty(value = "差额数量")
private java.lang.Integer cesl;
/**盘点类型 1盘盈单 2盘亏单*/
@Excel(name = "盘点类型 1盘盈单 2盘亏单", width = 15)
@ApiModelProperty(value = "盘点类型 1盘盈单 2盘亏单")
/**盘点类型 1盘盈单 2盘亏单 3作废*/
@Excel(name = "盘点类型 1盘盈单 2盘亏单 3作废", width = 15)
@ApiModelProperty(value = "盘点类型 1盘盈单 2盘亏单 3作废")
private java.lang.String pdType;
/**备注信息*/
@Excel(name = "备注信息", width = 15)

View File

@ -63,10 +63,10 @@ public class NuInvoicingPddMain implements Serializable {
@Dict(dicCode = "pdd_type")
@ApiModelProperty(value = "盘点单类型 1盘点中 2已完成 3作废")
private java.lang.String pddType;
/**盘点单状态 1盘点中 2盘点结束*/
@Excel(name = "盘点单状态 1盘点中 2盘点结束", width = 15, dicCode = "pdd_status")
/**盘点单状态 1盘点中 2盘点结束 3作废*/
@Excel(name = "盘点单状态 1盘点中 2盘点结束 3作废", width = 15, dicCode = "pdd_status")
@Dict(dicCode = "pdd_status")
@ApiModelProperty(value = "盘点单状态 1盘点中 2盘点结束")
@ApiModelProperty(value = "盘点单状态 1盘点中 2盘点结束 3作废")
private java.lang.String pddStatus;
/**盘点单发起人*/
@Excel(name = "盘点单发起人", width = 15)

View File

@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nu.entity.InvoicingPddInfoEntity;
import com.nu.entity.InvoicingPddMainEntity;
import com.nu.entity.MaterialInfoEntity;
import com.nu.modules.cgd.entity.NuWarehouseMaterialCrkInfo;
import com.nu.modules.cgd.mapper.NuWarehouseMaterialCrkInfoMapper;
import com.nu.modules.invoicing.api.IInvoicingApi;
import com.nu.modules.invoicing.api.IPddApi;
import com.nu.modules.nubaseinfo.entity.NuBaseInfo;
@ -17,6 +19,8 @@ import com.nu.modules.pdd.mapper.NuInvoicingPddInfoMapper;
import com.nu.modules.pdd.mapper.NuInvoicingPddMainMapper;
import com.nu.modules.pdd.service.INuInvoicingPddMainService;
import com.nu.modules.warehouseMaterialInfo.entity.BlWarehouseMaterialInfo;
import com.nu.modules.warehouseMaterialInfo.mapper.BlWarehouseMaterialInfoMapper;
import com.nu.utils.DictUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.system.query.QueryGenerator;
@ -31,6 +35,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
@ -53,6 +58,14 @@ public class NuInvoicingPddMainServiceImpl extends ServiceImpl<NuInvoicingPddMai
@Autowired
private NuInvoicingPddInfoMapper pddInfoMapper;
@Autowired
private NuWarehouseMaterialCrkInfoMapper crkInfoMapper;
@Autowired
private BlWarehouseMaterialInfoMapper mterialInfoMapper;
@Autowired
private DictUtils dictUtils;
@Override
public IPage<InvoicingPddMainEntity> queryPddList(Integer pageNo, Integer pageSize, InvoicingPddMainEntity invoicingPddMainEntity, HttpServletRequest req) {
NuInvoicingPddMain nuInvoicingPddMain = new NuInvoicingPddMain();
@ -188,6 +201,7 @@ public class NuInvoicingPddMainServiceImpl extends ServiceImpl<NuInvoicingPddMai
}
@Override
@Transactional(rollbackFor = Exception.class)
public Map<String, Object> submitPddMain(InvoicingPddMainEntity invoicingPddMainEntity) {
Map<String,Object> map = new HashMap<>();
LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@ -195,12 +209,19 @@ public class NuInvoicingPddMainServiceImpl extends ServiceImpl<NuInvoicingPddMai
user = new LoginUser();
user.setRealname("系统");
}
NuInvoicingPddMain nuInvoicingPddMainInfo =baseMapper.selectById(invoicingPddMainEntity.getId());
if(!StringUtils.equals("1",nuInvoicingPddMainInfo.getPddType())){
map.put("success","false");
map.put("message","盘点单状态不是盘点中,不能提交盘点单");
return map;
}
List<NuInvoicingPddInfo> list = pddInfoMapper.selectList(new QueryWrapper<NuInvoicingPddInfo>().eq("pdd_id",invoicingPddMainEntity.getId()).isNull("pdsl"));
int sfwc = 0;//是否完成
for(NuInvoicingPddInfo param : list){
if (StringUtils.isBlank(param.getPdType())){
sfwc = 1;
break;
}
}
if(sfwc == 1){
@ -216,6 +237,57 @@ public class NuInvoicingPddMainServiceImpl extends ServiceImpl<NuInvoicingPddMai
nuInvoicingPddMain.setPddType("2");
nuInvoicingPddMain.setPddStatus("2");
baseMapper.updateById(nuInvoicingPddMain);
List<NuInvoicingPddInfo> listCrk = pddInfoMapper.selectList(new QueryWrapper<NuInvoicingPddInfo>().eq("pdd_id",invoicingPddMainEntity.getId()).gt("cesl",0));
for(NuInvoicingPddInfo param : listCrk){
//库存信息
List<BlWarehouseMaterialInfo> mterialInfoList = mterialInfoMapper.selectList(new QueryWrapper<BlWarehouseMaterialInfo>().eq("wl_id",param.getWlId()).eq("nu_id",param.getNuId()));
if(mterialInfoList == null || mterialInfoList.size() == 0){
continue;
}
BlWarehouseMaterialInfo mterialInfo = mterialInfoList.get(0);
String kcsl = mterialInfo.getKcsl();
String dqkcl = mterialInfo.getKcsl();
NuWarehouseMaterialCrkInfo crkInfo = new NuWarehouseMaterialCrkInfo();
crkInfo.setCreateBy(user.getRealname());
crkInfo.setCgdId(param.getPddId());
crkInfo.setNuId(param.getNuId());
crkInfo.setWlId(param.getWlId());
crkInfo.setCrkNum(param.getCesl());//出入库数量
if(StringUtils.equals("1",param.getPdType())){//盘盈单
crkInfo.setCrkStatus("1");//入库
dqkcl = BigDecimal.valueOf(Double.valueOf(dqkcl)).add(BigDecimal.valueOf(Double.valueOf(param.getCesl()))).toString();
}else if(StringUtils.equals("2",param.getPdType())){//盘亏单
crkInfo.setCrkStatus("3");//出库
dqkcl = BigDecimal.valueOf(Double.valueOf(dqkcl)).subtract(BigDecimal.valueOf(Double.valueOf(param.getCesl()))).toString();
}else{//其他的不进行操作
continue;
}
dqkcl = String.format("%.0f",Double.valueOf(dqkcl));
crkInfo.setCrkType("4");//固定是盘点单
// crkInfo.setOldPrice(mterialInfo.getSalesUnitPrice());//原来的价格最开始的采购价格
// crkInfo.setNewPrice(price);//新的价格
crkInfo.setCzqkcl(kcsl);//操作前库存量
crkInfo.setDqkcl(dqkcl);//当前库存量
// crkInfo.setDdwNum(1);//多单位时的数量
crkInfo.setContent("盘点单:"+nuInvoicingPddMainInfo.getPddNo());
crkInfo.setMaterialCategoryName(dictUtils.translateDictValue("id","category_name","nu_config_material_category",mterialInfo.getCategoryId()));//物料类别名称
crkInfo.setMaterialTypeName(dictUtils.translateDictValue("id","type_name","nu_config_material_type",mterialInfo.getTypeId()));//物料类型名称
crkInfo.setMaterialMedicationName(dictUtils.translateDictValue("id","medication_name","nu_config_material_medication",mterialInfo.getMedicationId()));//物料类型名称
crkInfo.setMaterialName(mterialInfo.getMaterialName());//物料名称
crkInfo.setMaterialUnits(mterialInfo.getMaterialUnits());//物料单位
crkInfo.setMaterialNo(mterialInfo.getMaterialNo());//物料编码
crkInfo.setSpecificationModel(mterialInfo.getSpecificationModel());//规格型号
crkInfo.setMaterialImg(mterialInfo.getMaterialImg());//物料图片
crkInfo.setSalesUnitPrice(new BigDecimal(mterialInfo.getSalesUnitPrice()));//销售单价
if(crkInfo.getCrkNum()>0){
crkInfoMapper.insert(crkInfo);
mterialInfo.setKcsl(dqkcl);
mterialInfoMapper.updateById(mterialInfo);
}
}
map.put("success","true");
map.put("message","操作成功");
return map;
@ -232,4 +304,34 @@ public class NuInvoicingPddMainServiceImpl extends ServiceImpl<NuInvoicingPddMai
}
return list1;
}
@Override
public Map<String, Object> voidedPddMain(InvoicingPddMainEntity invoicingPddMainEntity) {
Map<String,Object> map = new HashMap<>();
LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(user == null || StringUtils.isBlank(user.getRealname())){
user = new LoginUser();
user.setRealname("系统");
}
NuInvoicingPddMain nuInvoicingPddMainInfo =baseMapper.selectById(invoicingPddMainEntity.getId());
if(!StringUtils.equals("1",nuInvoicingPddMainInfo.getPddType())){
map.put("success","false");
map.put("message","盘点单状态不是盘点中,不能作废盘点单");
return map;
}
List<NuInvoicingPddInfo> listCrk = pddInfoMapper.selectList(new QueryWrapper<NuInvoicingPddInfo>().eq("pdd_id",invoicingPddMainEntity.getId()));
for(NuInvoicingPddInfo param : listCrk){
param.setPdType("3");//作废
pddInfoMapper.updateById(param);
}
nuInvoicingPddMainInfo.setUpdateBy(user.getRealname());
nuInvoicingPddMainInfo.setUpdateTime(new Date());
nuInvoicingPddMainInfo.setPddStatus("3");
nuInvoicingPddMainInfo.setPddType("3");
baseMapper.updateById(nuInvoicingPddMainInfo);
map.put("success","true");
map.put("message","操作成功");
return map;
}
}