diff --git a/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingPddApi.java b/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingPddApi.java index ce07fb4f..10039ce1 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingPddApi.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/pad/invoicing/api/InvoicingPddApi.java @@ -113,4 +113,20 @@ public class InvoicingPddApi { List> pageList = pddApi.queryPddStartByList(invoicingPddInfoEntity); return Result.OK(pageList); } + + + @ApiOperation(value="盘点单-作废盘点单", notes="盘点单-作废盘点单") + @AutoLog(value = "盘点单-作废盘点单",clientType="app", operateType = 2) + @PostMapping(value = "/voidedPddMain") + public Result voidedPddMain(@RequestBody InvoicingPddMainEntity invoicingPddMainEntity) { + if(StringUtils.isBlank(invoicingPddMainEntity.getId())){ + return Result.error("参数错误,请选择盘点单"); + } + Map 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()); + } + } } diff --git a/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/src/main/java/com/nu/modules/invoicing/api/IPddApi.java b/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/src/main/java/com/nu/modules/invoicing/api/IPddApi.java index cd8c4aa9..5c56e784 100644 --- a/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/src/main/java/com/nu/modules/invoicing/api/IPddApi.java +++ b/nursing-unit-invoicing/nu-invoicing-api/nu-invoicing-local-api/src/main/java/com/nu/modules/invoicing/api/IPddApi.java @@ -20,4 +20,6 @@ public interface IPddApi { Map submitPddMain(InvoicingPddMainEntity invoicingPddMainEntity); List> queryPddStartByList(InvoicingPddInfoEntity invoicingPddInfoEntity); + + Map voidedPddMain(InvoicingPddMainEntity invoicingPddMainEntity); } diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/pdd/entity/NuInvoicingPddInfo.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/pdd/entity/NuInvoicingPddInfo.java index 3c1192ab..f94d5615 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/pdd/entity/NuInvoicingPddInfo.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/pdd/entity/NuInvoicingPddInfo.java @@ -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) diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/pdd/entity/NuInvoicingPddMain.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/pdd/entity/NuInvoicingPddMain.java index 5c49b0c6..70bcd5a5 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/pdd/entity/NuInvoicingPddMain.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/pdd/entity/NuInvoicingPddMain.java @@ -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) diff --git a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/pdd/service/impl/NuInvoicingPddMainServiceImpl.java b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/pdd/service/impl/NuInvoicingPddMainServiceImpl.java index 760618de..a2997176 100644 --- a/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/pdd/service/impl/NuInvoicingPddMainServiceImpl.java +++ b/nursing-unit-invoicing/nu-invoicing-biz/src/main/java/com/nu/modules/pdd/service/impl/NuInvoicingPddMainServiceImpl.java @@ -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 queryPddList(Integer pageNo, Integer pageSize, InvoicingPddMainEntity invoicingPddMainEntity, HttpServletRequest req) { NuInvoicingPddMain nuInvoicingPddMain = new NuInvoicingPddMain(); @@ -188,6 +201,7 @@ public class NuInvoicingPddMainServiceImpl extends ServiceImpl submitPddMain(InvoicingPddMainEntity invoicingPddMainEntity) { Map map = new HashMap<>(); LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); @@ -195,12 +209,19 @@ public class NuInvoicingPddMainServiceImpl extends ServiceImpl list = pddInfoMapper.selectList(new QueryWrapper().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 listCrk = pddInfoMapper.selectList(new QueryWrapper().eq("pdd_id",invoicingPddMainEntity.getId()).gt("cesl",0)); + for(NuInvoicingPddInfo param : listCrk){ + //库存信息 + List mterialInfoList = mterialInfoMapper.selectList(new QueryWrapper().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 voidedPddMain(InvoicingPddMainEntity invoicingPddMainEntity) { + + Map 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 listCrk = pddInfoMapper.selectList(new QueryWrapper().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; + } }