打印接口
This commit is contained in:
parent
7ba9e18346
commit
f8cd8db633
@ -159,9 +159,9 @@ public class bdgzsomthingController {
|
|||||||
//@Scheduled(cron = "0 2 0 * * ?") //每天十天执行一次
|
//@Scheduled(cron = "0 2 0 * * ?") //每天十天执行一次
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
public void init() {
|
public void init() {
|
||||||
selectHasPrice();
|
// selectHasPrice();
|
||||||
selectSafeStorageAndDeliverOneYear();
|
// selectSafeStorageAndDeliverOneYear();
|
||||||
bdgzsomthingService.selectds();
|
// bdgzsomthingService.selectds();
|
||||||
}
|
}
|
||||||
@Scheduled(cron = "0 0 2 * * ?")
|
@Scheduled(cron = "0 0 2 * * ?")
|
||||||
public void selectHasPrice(){
|
public void selectHasPrice(){
|
||||||
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||||||
import com.chanko.yunxi.mes.module.heli.controller.admin.outsourcestockboom.vo.OutsourceStockBoomSaveReqVO;
|
import com.chanko.yunxi.mes.module.heli.controller.admin.outsourcestockboom.vo.OutsourceStockBoomSaveReqVO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder.DeliverOrderDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.deliverorder.DeliverOrderDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagein.StorageInDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storageinventory.StorageInventoryDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storageinventory.StorageInventoryDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelog.StorageLogDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO;
|
||||||
@ -325,4 +326,11 @@ public class StorageController {
|
|||||||
public CommonResult<Boolean> procurementAndStorage(@Valid @RequestBody StorageSaveReqVO createReqVO) {
|
public CommonResult<Boolean> procurementAndStorage(@Valid @RequestBody StorageSaveReqVO createReqVO) {
|
||||||
return storageService.procurementAndStorage(createReqVO);
|
return storageService.procurementAndStorage(createReqVO);
|
||||||
}
|
}
|
||||||
|
@GetMapping("/isPrint")
|
||||||
|
@Operation(summary = "打印")
|
||||||
|
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||||
|
public CommonResult<StorageDO> isPrint(@RequestParam("id") Long id) {
|
||||||
|
return success(storageService.isPrint(id));
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package com.chanko.yunxi.mes.module.heli.dal.dataobject.storage;
|
package com.chanko.yunxi.mes.module.heli.dal.dataobject.storage;
|
||||||
|
|
||||||
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storageindetail.StorageInDetailDO;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
@ -126,6 +128,15 @@ public class StorageDO extends BaseDO {
|
|||||||
private String unit;
|
private String unit;
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private BigDecimal caiGouMoney;
|
private BigDecimal caiGouMoney;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String supplierName;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private List<StorageMatDO> storageMatDOList;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String userName;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String signature;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private Date date;
|
||||||
|
|
||||||
}
|
}
|
@ -80,4 +80,11 @@ public class StorageInDO extends BaseDO {
|
|||||||
private String supplierName;
|
private String supplierName;
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private List<StorageInDetailDO> storageInDetailDOList;
|
private List<StorageInDetailDO> storageInDetailDOList;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String userName;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String signature;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private Date date;
|
||||||
|
|
||||||
}
|
}
|
@ -171,5 +171,14 @@ public class StorageInDetailDO extends BaseDO {
|
|||||||
*/
|
*/
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String materialCode;
|
private String materialCode;
|
||||||
|
/**
|
||||||
|
* 单位名称
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String unit;
|
||||||
|
/**
|
||||||
|
* 单价
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private BigDecimal price;
|
||||||
}
|
}
|
@ -130,5 +130,9 @@ public class StorageMatDO extends BaseDO {
|
|||||||
|
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private BigDecimal matRest;
|
private BigDecimal matRest;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private BigDecimal unitPrice;
|
||||||
|
@TableField(exist = false)
|
||||||
|
private BigDecimal totalPrice;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -10,6 +10,7 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorder.PurchaseOrd
|
|||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagein.StorageInDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagein.StorageInDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storageindetail.StorageInDetailDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storageindetail.StorageInDetailDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.supplier.SupplierDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.supplier.SupplierDO;
|
||||||
|
import com.chanko.yunxi.mes.module.system.dal.dataobject.dict.DictDataDO;
|
||||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import com.chanko.yunxi.mes.module.heli.controller.admin.storageindetail.vo.*;
|
import com.chanko.yunxi.mes.module.heli.controller.admin.storageindetail.vo.*;
|
||||||
@ -62,12 +63,15 @@ public interface StorageInDetailMapper extends BaseMapperX<StorageInDetailDO> {
|
|||||||
|
|
||||||
query.selectAll(StorageInDetailDO.class)
|
query.selectAll(StorageInDetailDO.class)
|
||||||
.select("sup.name as supplierName","m.code as materialCode")
|
.select("sup.name as supplierName","m.code as materialCode")
|
||||||
|
.select("d.label as unit")
|
||||||
.leftJoin(SupplierDO.class,"sup", SupplierDO::getId, StorageInDetailDO::getSupplierId)
|
.leftJoin(SupplierDO.class,"sup", SupplierDO::getId, StorageInDetailDO::getSupplierId)
|
||||||
.leftJoin(MaterialDO.class,"m", MaterialDO::getId, StorageInDetailDO::getMaterialId)
|
.leftJoin(MaterialDO.class,"m", MaterialDO::getId, StorageInDetailDO::getMaterialId)
|
||||||
|
.leftJoin(DictDataDO.class,"d",DictDataDO::getValue, StorageInDetailDO::getBoomUnit)
|
||||||
.groupBy(StorageInDetailDO::getId)
|
.groupBy(StorageInDetailDO::getId)
|
||||||
.disableSubLogicDel()
|
.disableSubLogicDel()
|
||||||
.orderByDesc(StorageInDetailDO::getCreateTime);
|
.orderByDesc(StorageInDetailDO::getCreateTime);
|
||||||
query.eq(pageReqVO.getStorageNoId() != null, StorageInDetailDO::getStorageNoId, pageReqVO.getStorageNoId());
|
query.eq(pageReqVO.getStorageNoId() != null, StorageInDetailDO::getStorageNoId, pageReqVO.getStorageNoId())
|
||||||
|
.eq("d.dict_type","heli_material_unit");
|
||||||
return selectPage(pageReqVO, query);
|
return selectPage(pageReqVO, query);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -12,10 +12,13 @@ import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrder
|
|||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderSubDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.rg.RgDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storageindetail.StorageInDetailDO;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storageinventory.StorageInventoryDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagelogNow.StorageLogNowDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.warehouse.WarehouseDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.warehouse.WarehouseDO;
|
||||||
import com.chanko.yunxi.mes.module.system.dal.dataobject.dept.DeptDO;
|
import com.chanko.yunxi.mes.module.system.dal.dataobject.dept.DeptDO;
|
||||||
|
import com.chanko.yunxi.mes.module.system.dal.dataobject.dict.DictDataDO;
|
||||||
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO;
|
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO;
|
||||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
@ -101,4 +104,24 @@ public interface StorageMatMapper extends BaseMapperX<StorageMatDO> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
List<StorageMatValidRespVO> selectStorageMatValid(Long whId);
|
List<StorageMatValidRespVO> selectStorageMatValid(Long whId);
|
||||||
|
|
||||||
|
default List<StorageMatDO> selectMatByStorckId(Long stockId) {
|
||||||
|
|
||||||
|
MPJLambdaWrapper<StorageMatDO> query = new MPJLambdaWrapper<>();
|
||||||
|
query.selectAll(StorageMatDO.class)
|
||||||
|
.select("o.project_name as projectName ,l.name as matName ,l.material_type as matType,l.spec as matSpec,d.label as matUnit")
|
||||||
|
.select("w.price as unitPrice,ROUND(COALESCE(t.storage_ok_qty * w.price, 0), 1) AS totalPrice")
|
||||||
|
.leftJoin(MaterialDO.class,"l",MaterialDO::getId,StorageMatDO::getMatId)
|
||||||
|
.leftJoin(DictDataDO.class,"d",DictDataDO::getValue, MaterialDO::getUnit)
|
||||||
|
.leftJoin("wms_storage_inventory w on t.wh_id=w.wh_id and t.rg_id=w.rg_id and t.pn_id=w.pn_id and t.mat_id=w.material_id and w.tenant_id=2 and w.deleted=0")
|
||||||
|
.leftJoin(ProjectOrderSubDO.class,"sub",ProjectOrderSubDO::getId,StorageMatDO::getProjectNo)
|
||||||
|
.leftJoin(ProjectOrderDO.class,"o",ProjectOrderDO::getId,ProjectOrderSubDO::getProjectOrderId)
|
||||||
|
.disableSubLogicDel()
|
||||||
|
.orderByDesc(StorageMatDO::getId)
|
||||||
|
.groupBy(StorageMatDO::getId)
|
||||||
|
.eq(StorageMatDO::getStockId, stockId)
|
||||||
|
.eq("d.dict_type","heli_material_unit");
|
||||||
|
|
||||||
|
return selectList(query);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -308,7 +308,64 @@ public class MaterialPlanServiceImpl implements MaterialPlanService {
|
|||||||
}
|
}
|
||||||
// materialPlanBoomMapper.insertBatch(materialPlanBoomDOList);
|
// materialPlanBoomMapper.insertBatch(materialPlanBoomDOList);
|
||||||
taskDispatchDetailMapper.insertOrUpdateBatch(list);
|
taskDispatchDetailMapper.insertOrUpdateBatch(list);
|
||||||
return true;
|
List<AttentiontodoDO> attentiontodook = attentiontodoMapper.selectByIdlist(8);//查找该类型的待办和关注人 改
|
||||||
|
String nickname = userApi.getUser( SecurityFrameworkUtils.getLoginUser().getId()).getNickname();
|
||||||
|
List<AttentiontodoDO> attentiontodook1 = attentiontodoService.getAttentiontodolistdaiban(8);
|
||||||
|
if (attentiontodook1.size()<1){
|
||||||
|
{
|
||||||
|
|
||||||
|
AttentiontodoDO attentiontodoDO = new AttentiontodoDO();
|
||||||
|
attentiontodoDO.setEvent("《物料需求计划》提交后");
|
||||||
|
attentiontodoDO.setAttr5("1");
|
||||||
|
attentiontodoDO.setAttr4(nickname);
|
||||||
|
attentiontodoDO.setLevel("1");
|
||||||
|
attentiontodook.add(attentiontodoDO);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
for (AttentiontodoDO attentiontodoRespVO : attentiontodook) {
|
||||||
|
{
|
||||||
|
// for (StorageLogNowDO storageLogNowDO : pageResult) {
|
||||||
|
bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO();
|
||||||
|
BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称
|
||||||
|
BdgzsomthingDO.setThings("物料需求计划单号:" + planDO.getProjectMaterialPlanNo() + "已提交");//事件名称
|
||||||
|
BdgzsomthingDO.setAttr2(planDO.getProjectMaterialPlanNo());//跳转携带参数
|
||||||
|
BdgzsomthingDO.setAttr3(planDO.getProjectMaterialPlanNo());//独特标识
|
||||||
|
// BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期
|
||||||
|
// BdgzsomthingDO.setShowname(new Date());比较创建时间,不用单独填写
|
||||||
|
if (attentiontodoRespVO.getAttr5().equals("1")) {//提醒状态
|
||||||
|
BdgzsomthingDO.setDborgz("待办");
|
||||||
|
} else if (attentiontodoRespVO.getAttr5().equals("2")) {
|
||||||
|
BdgzsomthingDO.setDborgz("关注");
|
||||||
|
}
|
||||||
|
//提醒人
|
||||||
|
if (ObjectUtil.isEmpty(attentiontodoRespVO.getAttr4())) {
|
||||||
|
AdminUserDO user = adminUserService.getUser(Long.valueOf(planDO.getCreator()));
|
||||||
|
if (ObjectUtil.isNotEmpty(user)) {
|
||||||
|
BdgzsomthingDO.setClick(user.getNickname());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
BdgzsomthingDO.setClick(attentiontodoRespVO.getAttr4());
|
||||||
|
}
|
||||||
|
if (attentiontodoRespVO.getLevel().equals("1")) {
|
||||||
|
BdgzsomthingDO.setLevel("紧急");
|
||||||
|
} else if (attentiontodoRespVO.getLevel().equals("2")) {
|
||||||
|
BdgzsomthingDO.setLevel("一般");
|
||||||
|
} else if (attentiontodoRespVO.getLevel().equals("3")) {
|
||||||
|
BdgzsomthingDO.setLevel("非紧急");
|
||||||
|
}
|
||||||
|
// BdgzsomthingDO.setClick(attentiontodoRespVO.getRemindman());//提醒人
|
||||||
|
BdgzsomthingDO.setYesorno("0");//是否点击
|
||||||
|
BdgzsomthingDO.setAttr4("0");//是否已处理
|
||||||
|
|
||||||
|
|
||||||
|
// BdgzsomthingDO.setShowname(operateReqVO.getCreateTime());//获取数据当前表的创建事件 改
|
||||||
|
bdgzsomthingMapper.insert(BdgzsomthingDO);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1110,6 +1110,72 @@ public class ProcessBomServiceImpl implements ProcessBomService {
|
|||||||
}
|
}
|
||||||
materialPlanBoomMapper.insertBatch(materialPlanBoomDOList);
|
materialPlanBoomMapper.insertBatch(materialPlanBoomDOList);
|
||||||
processBomDetailMapper.insertOrUpdateBatch(list);
|
processBomDetailMapper.insertOrUpdateBatch(list);
|
||||||
|
|
||||||
|
|
||||||
|
List<AttentiontodoDO> attentiontodook = attentiontodoMapper.selectByIdlist(8);//查找该类型的待办和关注人 改
|
||||||
|
String nickname = userApi.getUser( SecurityFrameworkUtils.getLoginUser().getId()).getNickname();
|
||||||
|
List<AttentiontodoDO> attentiontodook1 = attentiontodoService.getAttentiontodolistdaiban(8);
|
||||||
|
if (attentiontodook1.size()<1){
|
||||||
|
{
|
||||||
|
|
||||||
|
AttentiontodoDO attentiontodoDO = new AttentiontodoDO();
|
||||||
|
attentiontodoDO.setEvent("《物料需求计划》提交后");
|
||||||
|
attentiontodoDO.setAttr5("1");
|
||||||
|
attentiontodoDO.setAttr4(nickname);
|
||||||
|
attentiontodoDO.setLevel("1");
|
||||||
|
attentiontodook.add(attentiontodoDO);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
for (AttentiontodoDO attentiontodoRespVO : attentiontodook) {
|
||||||
|
{
|
||||||
|
// for (StorageLogNowDO storageLogNowDO : pageResult) {
|
||||||
|
bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO();
|
||||||
|
BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称
|
||||||
|
BdgzsomthingDO.setThings("物料需求计划单号:"+planDO.getProjectMaterialPlanNo()+"已提交");//事件名称
|
||||||
|
BdgzsomthingDO.setAttr2(planDO.getProjectMaterialPlanNo());//跳转携带参数
|
||||||
|
BdgzsomthingDO.setAttr3(planDO.getProjectMaterialPlanNo());//独特标识
|
||||||
|
// BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期
|
||||||
|
// BdgzsomthingDO.setShowname(new Date());比较创建时间,不用单独填写
|
||||||
|
if(attentiontodoRespVO.getAttr5().equals("1")){//提醒状态
|
||||||
|
BdgzsomthingDO.setDborgz("待办");
|
||||||
|
}
|
||||||
|
else if(attentiontodoRespVO.getAttr5().equals("2")){
|
||||||
|
BdgzsomthingDO.setDborgz("关注");
|
||||||
|
}
|
||||||
|
//提醒人
|
||||||
|
if (ObjectUtil.isEmpty(attentiontodoRespVO.getAttr4())){
|
||||||
|
AdminUserDO user = adminUserService.getUser(Long.valueOf(planDO.getCreator()));
|
||||||
|
if (ObjectUtil.isNotEmpty(user)){
|
||||||
|
BdgzsomthingDO.setClick(user.getNickname());
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
BdgzsomthingDO.setClick(attentiontodoRespVO.getAttr4());
|
||||||
|
}
|
||||||
|
if(attentiontodoRespVO.getLevel().equals("1")){
|
||||||
|
BdgzsomthingDO.setLevel("紧急");
|
||||||
|
}
|
||||||
|
else if(attentiontodoRespVO.getLevel().equals("2")){
|
||||||
|
BdgzsomthingDO.setLevel("一般");
|
||||||
|
}
|
||||||
|
else if(attentiontodoRespVO.getLevel().equals("3")){
|
||||||
|
BdgzsomthingDO.setLevel("非紧急");
|
||||||
|
}
|
||||||
|
// BdgzsomthingDO.setClick(attentiontodoRespVO.getRemindman());//提醒人
|
||||||
|
BdgzsomthingDO.setYesorno("0");//是否点击
|
||||||
|
BdgzsomthingDO.setAttr4("0");//是否已处理
|
||||||
|
|
||||||
|
|
||||||
|
// BdgzsomthingDO.setShowname(operateReqVO.getCreateTime());//获取数据当前表的创建事件 改
|
||||||
|
bdgzsomthingMapper.insert(BdgzsomthingDO);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,27 +4,38 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.chanko.yunxi.mes.framework.common.exception.ErrorCode;
|
import com.chanko.yunxi.mes.framework.common.exception.ErrorCode;
|
||||||
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
||||||
|
import com.chanko.yunxi.mes.framework.security.core.util.SecurityFrameworkUtils;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.attentiontodo.AttentiontodoDO;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplanboom.MaterialPlanBoomDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplanboom.MaterialPlanBoomDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplandetail.MaterialPlanDetailDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.materialplandetail.MaterialPlanDetailDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.procedure.ProcedureDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDetailDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.processbom.ProcessBomDetailDO;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorderno.PurchaseOrderNoDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.dal.mysql.attentiontodo.AttentiontodoMapper;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.material.MaterialMapper;
|
import com.chanko.yunxi.mes.module.heli.dal.mysql.material.MaterialMapper;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.materialplan.MaterialPlanMapper;
|
import com.chanko.yunxi.mes.module.heli.dal.mysql.materialplan.MaterialPlanMapper;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.materialplanboom.MaterialPlanBoomMapper;
|
import com.chanko.yunxi.mes.module.heli.dal.mysql.materialplanboom.MaterialPlanBoomMapper;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.materialplandetail.MaterialPlanDetailMapper;
|
import com.chanko.yunxi.mes.module.heli.dal.mysql.materialplandetail.MaterialPlanDetailMapper;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomDetailMapper;
|
import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomDetailMapper;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomMapper;
|
import com.chanko.yunxi.mes.module.heli.dal.mysql.processbom.ProcessBomMapper;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseorderno.PurchaseOrderNoMapper;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.storage.StorageMapper;
|
import com.chanko.yunxi.mes.module.heli.dal.mysql.storage.StorageMapper;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.storagemat.StorageMatMapper;
|
import com.chanko.yunxi.mes.module.heli.dal.mysql.storagemat.StorageMatMapper;
|
||||||
import com.chanko.yunxi.mes.module.heli.enums.CodeEnum;
|
import com.chanko.yunxi.mes.module.heli.enums.CodeEnum;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.service.attentiontodo.AttentiontodoService;
|
||||||
import com.chanko.yunxi.mes.module.heli.service.procedure.ProcedureService;
|
import com.chanko.yunxi.mes.module.heli.service.procedure.ProcedureService;
|
||||||
import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService;
|
import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService;
|
||||||
import com.chanko.yunxi.mes.module.heli.service.storage.StorageService;
|
import com.chanko.yunxi.mes.module.heli.service.storage.StorageService;
|
||||||
|
import com.chanko.yunxi.mes.module.system.api.user.AdminUserApi;
|
||||||
|
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO;
|
||||||
|
import com.chanko.yunxi.mes.module.system.service.user.AdminUserService;
|
||||||
|
import com.sun.scenario.effect.impl.prism.PrTexture;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
@ -34,6 +45,8 @@ import java.math.BigDecimal;
|
|||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordernodetail.vo.*;
|
import com.chanko.yunxi.mes.module.heli.controller.admin.purchaseordernodetail.vo.*;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordernodetail.PurchaseOrderNoDetailDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordernodetail.PurchaseOrderNoDetailDO;
|
||||||
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
|
||||||
@ -78,8 +91,19 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe
|
|||||||
private StorageMatMapper storageMatMapper;
|
private StorageMatMapper storageMatMapper;
|
||||||
@Resource
|
@Resource
|
||||||
private StorageService storageService;
|
private StorageService storageService;
|
||||||
|
@Resource
|
||||||
|
private PurchaseOrderNoMapper purchaseOrderNoMapper;
|
||||||
|
@Resource
|
||||||
|
private AdminUserApi userApi;
|
||||||
|
@Resource
|
||||||
|
private AttentiontodoService attentiontodoService;
|
||||||
|
@Resource
|
||||||
|
private com.chanko.yunxi.mes.module.heli.dal.mysql.bdgzsomthing.bdgzsomthingMapper bdgzsomthingMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private AdminUserService adminUserService;
|
||||||
|
@Resource
|
||||||
|
private AttentiontodoMapper attentiontodoMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Long createPurchaseOrderNoDetail(PurchaseOrderNoDetailSaveReqVO createReqVO) {
|
public Long createPurchaseOrderNoDetail(PurchaseOrderNoDetailSaveReqVO createReqVO) {
|
||||||
@ -250,7 +274,98 @@ public class PurchaseOrderNoDetailServiceImpl implements PurchaseOrderNoDetailSe
|
|||||||
storageService.updateMatLogList(out.getId(),2);
|
storageService.updateMatLogList(out.getId(),2);
|
||||||
storageMapper.deleteById(storageDO);
|
storageMapper.deleteById(storageDO);
|
||||||
storageMapper.deleteById(out);
|
storageMapper.deleteById(out);
|
||||||
|
|
||||||
// materialMapper.insertBatch(materialDOList);
|
// materialMapper.insertBatch(materialDOList);
|
||||||
|
List<Long> idList = list.stream()
|
||||||
|
.filter(Objects::nonNull) // 过滤空对象
|
||||||
|
.map(PurchaseOrderNoDetailDO::getId)
|
||||||
|
.filter(Objects::nonNull) // 过滤空ID
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
LambdaQueryWrapper<PurchaseOrderNoDetailDO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
lambdaQueryWrapper.in(PurchaseOrderNoDetailDO::getId,idList);
|
||||||
|
List<PurchaseOrderNoDetailDO> purchaseOrderNoDetailDOS = purchaseOrderNoDetailMapper.selectList(lambdaQueryWrapper);
|
||||||
|
List<Long> ids = purchaseOrderNoDetailDOS.stream()
|
||||||
|
.filter(Objects::nonNull) // 过滤空对象
|
||||||
|
.map(PurchaseOrderNoDetailDO::getPurchaseOrderId)
|
||||||
|
.filter(Objects::nonNull) // 过滤空ID
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
LambdaQueryWrapper<PurchaseOrderNoDO> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.in(PurchaseOrderNoDO::getId,ids);
|
||||||
|
List<PurchaseOrderNoDO> purchaseOrderNoDOS = purchaseOrderNoMapper.selectList(queryWrapper);
|
||||||
|
for (PurchaseOrderNoDO purchaseOrderNoDO : purchaseOrderNoDOS) {
|
||||||
|
LambdaQueryWrapper<PurchaseOrderNoDetailDO> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.eq(PurchaseOrderNoDetailDO::getPurchaseOrderId, purchaseOrderNoDO.getId());
|
||||||
|
List<PurchaseOrderNoDetailDO> lists = purchaseOrderNoDetailMapper.selectList(wrapper);
|
||||||
|
// 方法1:使用 Stream API(最简洁)
|
||||||
|
boolean allStatus3 = lists != null &&
|
||||||
|
!lists.isEmpty() &&
|
||||||
|
lists.stream()
|
||||||
|
.allMatch(detail -> detail.getReceivingStatus()==3);
|
||||||
|
if (allStatus3) {
|
||||||
|
//采购订单收货完成
|
||||||
|
List<AttentiontodoDO> attentiontodook = attentiontodoMapper.selectByIdlist(10);//查找该类型的待办和关注人 改
|
||||||
|
|
||||||
|
String nickname = userApi.getUser(SecurityFrameworkUtils.getLoginUser().getId()).getNickname();
|
||||||
|
List<AttentiontodoDO> attentiontodook1 = attentiontodoService.getAttentiontodolistdaiban(10);
|
||||||
|
if (attentiontodook1.size() < 1) {
|
||||||
|
{
|
||||||
|
|
||||||
|
AttentiontodoDO attentiontodoDO = new AttentiontodoDO();
|
||||||
|
attentiontodoDO.setEvent("《采购订单》到货时通知检验");
|
||||||
|
attentiontodoDO.setAttr5("1");
|
||||||
|
attentiontodoDO.setAttr4(nickname);
|
||||||
|
attentiontodoDO.setLevel("1");
|
||||||
|
attentiontodook.add(attentiontodoDO);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
for (AttentiontodoDO attentiontodoRespVO : attentiontodook) {
|
||||||
|
{
|
||||||
|
// for (StorageLogNowDO storageLogNowDO : pageResult) {
|
||||||
|
bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO();
|
||||||
|
BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称
|
||||||
|
BdgzsomthingDO.setThings("采购订单" + purchaseOrderNoDO.getPurchaseNo() + "已完成收货");//事件名称
|
||||||
|
|
||||||
|
BdgzsomthingDO.setAttr2(purchaseOrderNoDO.getPurchaseNo());//跳转携带参数
|
||||||
|
BdgzsomthingDO.setAttr3(purchaseOrderNoDO.getPurchaseNo());//独特标识
|
||||||
|
// BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期
|
||||||
|
// BdgzsomthingDO.setShowname(new Date());比较创建时间,不用单独填写
|
||||||
|
if (attentiontodoRespVO.getAttr5().equals("1")) {//提醒状态
|
||||||
|
BdgzsomthingDO.setDborgz("待办");
|
||||||
|
} else if (attentiontodoRespVO.getAttr5().equals("2")) {
|
||||||
|
BdgzsomthingDO.setDborgz("关注");
|
||||||
|
}
|
||||||
|
if (ObjectUtil.isEmpty(attentiontodoRespVO.getAttr4())) {
|
||||||
|
AdminUserDO user = adminUserService.getUser(Long.valueOf(purchaseOrderNoDO.getCreator()));
|
||||||
|
if (ObjectUtil.isNotEmpty(user)) {
|
||||||
|
BdgzsomthingDO.setClick(user.getNickname());
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
BdgzsomthingDO.setClick(attentiontodoRespVO.getAttr4());
|
||||||
|
}//提醒人
|
||||||
|
if (attentiontodoRespVO.getLevel().equals("1")) {
|
||||||
|
BdgzsomthingDO.setLevel("紧急");
|
||||||
|
} else if (attentiontodoRespVO.getLevel().equals("2")) {
|
||||||
|
BdgzsomthingDO.setLevel("一般");
|
||||||
|
} else if (attentiontodoRespVO.getLevel().equals("3")) {
|
||||||
|
BdgzsomthingDO.setLevel("非紧急");
|
||||||
|
}
|
||||||
|
// BdgzsomthingDO.setClick(attentiontodoRespVO.getRemindman());//提醒人
|
||||||
|
BdgzsomthingDO.setYesorno("0");//是否点击
|
||||||
|
BdgzsomthingDO.setAttr4("0");//是否已处理
|
||||||
|
|
||||||
|
// BdgzsomthingDO.setShowname(operateReqVO.getCreateTime());//获取数据当前表的创建事件 改
|
||||||
|
bdgzsomthingMapper.insert(BdgzsomthingDO);
|
||||||
|
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
return success(true);
|
return success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,4 +75,6 @@ public interface StorageService {
|
|||||||
List<StorageDO> getList(Long id, Long projectSubId);
|
List<StorageDO> getList(Long id, Long projectSubId);
|
||||||
|
|
||||||
CommonResult<Boolean> procurementAndStorage(StorageSaveReqVO createReqVO);
|
CommonResult<Boolean> procurementAndStorage(StorageSaveReqVO createReqVO);
|
||||||
|
|
||||||
|
StorageDO isPrint(Long id);
|
||||||
}
|
}
|
||||||
|
@ -37,6 +37,8 @@ import com.chanko.yunxi.mes.module.heli.enums.CodeEnum;
|
|||||||
import com.chanko.yunxi.mes.module.heli.service.master.MasterService;
|
import com.chanko.yunxi.mes.module.heli.service.master.MasterService;
|
||||||
import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService;
|
import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService;
|
||||||
import com.chanko.yunxi.mes.module.heli.service.storagelog.StorageLogService;
|
import com.chanko.yunxi.mes.module.heli.service.storagelog.StorageLogService;
|
||||||
|
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO;
|
||||||
|
import com.chanko.yunxi.mes.module.system.service.user.AdminUserService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
@ -101,6 +103,8 @@ public class StorageServiceImpl implements StorageService {
|
|||||||
private PurchaseOrderNoDetailMapper purchaseOrderNoDetailMapper;
|
private PurchaseOrderNoDetailMapper purchaseOrderNoDetailMapper;
|
||||||
@Resource
|
@Resource
|
||||||
private StorageInventoryMapper storageInventoryMapper;
|
private StorageInventoryMapper storageInventoryMapper;
|
||||||
|
@Resource
|
||||||
|
private AdminUserService adminUserService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private StorageLogService storageLogService;
|
private StorageLogService storageLogService;
|
||||||
@ -511,4 +515,20 @@ private StorageLogService storageLogService;
|
|||||||
return CommonResult.success(true);
|
return CommonResult.success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public StorageDO isPrint(Long id) {
|
||||||
|
StorageDO storageDO = storageMapper.selectById(id);
|
||||||
|
if (ObjectUtil.isNotEmpty(storageDO)){
|
||||||
|
storageDO.setSupplierName("");
|
||||||
|
storageDO.setSignature("");
|
||||||
|
AdminUserDO user = adminUserService.getUser(getLoginUser().getId());
|
||||||
|
if (ObjectUtil.isNotEmpty(user)){
|
||||||
|
storageDO.setUserName(user.getNickname());
|
||||||
|
}
|
||||||
|
List<StorageMatDO> storageMatDOS = storageMatMapper.selectMatByStorckId(id);
|
||||||
|
storageDO.setStorageMatDOList(storageMatDOS);
|
||||||
|
}
|
||||||
|
return storageDO;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -4,21 +4,30 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
import com.chanko.yunxi.mes.framework.common.pojo.CommonResult;
|
||||||
|
import com.chanko.yunxi.mes.framework.security.core.util.SecurityFrameworkUtils;
|
||||||
import com.chanko.yunxi.mes.module.heli.controller.admin.storageindetail.vo.StorageInDetailPageReqVO;
|
import com.chanko.yunxi.mes.module.heli.controller.admin.storageindetail.vo.StorageInDetailPageReqVO;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.attentiontodo.AttentiontodoDO;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.bdgzsomthing.bdgzsomthingDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorderno.PurchaseOrderNoDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseorderno.PurchaseOrderNoDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordernodetail.PurchaseOrderNoDetailDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.purchaseordernodetail.PurchaseOrderNoDetailDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.serialnumber.SerialNumberDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storageindetail.StorageInDetailDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storageindetail.StorageInDetailDO;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO;
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.dal.dataobject.taskdispatch.TaskDispatchDO;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.dal.mysql.attentiontodo.AttentiontodoMapper;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseorderno.PurchaseOrderNoMapper;
|
import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseorderno.PurchaseOrderNoMapper;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordernodetail.PurchaseOrderNoDetailMapper;
|
import com.chanko.yunxi.mes.module.heli.dal.mysql.purchaseordernodetail.PurchaseOrderNoDetailMapper;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.storage.StorageMapper;
|
import com.chanko.yunxi.mes.module.heli.dal.mysql.storage.StorageMapper;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.storageindetail.StorageInDetailMapper;
|
import com.chanko.yunxi.mes.module.heli.dal.mysql.storageindetail.StorageInDetailMapper;
|
||||||
import com.chanko.yunxi.mes.module.heli.dal.mysql.storagemat.StorageMatMapper;
|
import com.chanko.yunxi.mes.module.heli.dal.mysql.storagemat.StorageMatMapper;
|
||||||
import com.chanko.yunxi.mes.module.heli.enums.CodeEnum;
|
import com.chanko.yunxi.mes.module.heli.enums.CodeEnum;
|
||||||
|
import com.chanko.yunxi.mes.module.heli.service.attentiontodo.AttentiontodoService;
|
||||||
import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService;
|
import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService;
|
||||||
import com.chanko.yunxi.mes.module.heli.service.storage.StorageService;
|
import com.chanko.yunxi.mes.module.heli.service.storage.StorageService;
|
||||||
|
import com.chanko.yunxi.mes.module.system.api.user.AdminUserApi;
|
||||||
|
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO;
|
||||||
|
import com.chanko.yunxi.mes.module.system.service.user.AdminUserService;
|
||||||
import com.sun.corba.se.spi.ior.IdentifiableFactory;
|
import com.sun.corba.se.spi.ior.IdentifiableFactory;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@ -70,6 +79,16 @@ public class StorageInServiceImpl implements StorageInService {
|
|||||||
private StorageMatMapper storageMatMapper;
|
private StorageMatMapper storageMatMapper;
|
||||||
@Resource
|
@Resource
|
||||||
private StorageService storageService;
|
private StorageService storageService;
|
||||||
|
@Resource
|
||||||
|
private AdminUserService adminUserService;
|
||||||
|
@Resource
|
||||||
|
private AttentiontodoMapper attentiontodoMapper;
|
||||||
|
@Resource
|
||||||
|
private AdminUserApi userApi;
|
||||||
|
@Resource
|
||||||
|
private AttentiontodoService attentiontodoService;
|
||||||
|
@Resource
|
||||||
|
private com.chanko.yunxi.mes.module.heli.dal.mysql.bdgzsomthing.bdgzsomthingMapper bdgzsomthingMapper;
|
||||||
@Override
|
@Override
|
||||||
public Long createStorageIn(StorageInSaveReqVO createReqVO) {
|
public Long createStorageIn(StorageInSaveReqVO createReqVO) {
|
||||||
// 插入
|
// 插入
|
||||||
@ -142,10 +161,21 @@ public class StorageInServiceImpl implements StorageInService {
|
|||||||
public StorageInDO isPrint(Long id) {
|
public StorageInDO isPrint(Long id) {
|
||||||
StorageInDO storageInDO = storageInMapper.selectById(id);
|
StorageInDO storageInDO = storageInMapper.selectById(id);
|
||||||
if (ObjectUtil.isNotEmpty(storageInDO)){
|
if (ObjectUtil.isNotEmpty(storageInDO)){
|
||||||
|
AdminUserDO user = adminUserService.getUser(getLoginUser().getId());
|
||||||
|
if (ObjectUtil.isNotEmpty(user)){
|
||||||
|
storageInDO.setUserName(user.getNickname());
|
||||||
|
}
|
||||||
|
storageInDO.setSignature("");
|
||||||
StorageInDetailPageReqVO page = new StorageInDetailPageReqVO();
|
StorageInDetailPageReqVO page = new StorageInDetailPageReqVO();
|
||||||
page.setStorageNoId(id);
|
page.setStorageNoId(id);
|
||||||
page.setPageSize(PageParam.PAGE_SIZE_NONE);
|
page.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||||
List<StorageInDetailDO> list = storageInDetailMapper.getByStorageId(page).getList();
|
List<StorageInDetailDO> list = storageInDetailMapper.getByStorageId(page).getList();
|
||||||
|
if (ObjectUtil.isNotEmpty(list)){
|
||||||
|
storageInDO.setSupplierName(list.get(0).getSupplierName());
|
||||||
|
for (StorageInDetailDO storageInDetailDO : list) {
|
||||||
|
storageInDetailDO.setPrice(storageInDetailDO.getEstimatedPrice().divide(storageInDetailDO.getStorageAmount(),1, RoundingMode.HALF_UP));
|
||||||
|
}
|
||||||
|
}
|
||||||
storageInDO.setStorageInDetailDOList(list);
|
storageInDO.setStorageInDetailDOList(list);
|
||||||
}
|
}
|
||||||
return storageInDO;
|
return storageInDO;
|
||||||
@ -177,7 +207,6 @@ public class StorageInServiceImpl implements StorageInService {
|
|||||||
}
|
}
|
||||||
LambdaQueryWrapper<StorageInDetailDO> wrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<StorageInDetailDO> wrapper = new LambdaQueryWrapper<>();
|
||||||
wrapper.eq(StorageInDetailDO::getPurchaseOrderNoDetailId,purchaseOrderNoDetailDO.getId());
|
wrapper.eq(StorageInDetailDO::getPurchaseOrderNoDetailId,purchaseOrderNoDetailDO.getId());
|
||||||
wrapper.eq(StorageInDetailDO::getDeleted,0);
|
|
||||||
List<StorageInDetailDO> storageInDetailDOS = storageInDetailMapper.selectList(wrapper);
|
List<StorageInDetailDO> storageInDetailDOS = storageInDetailMapper.selectList(wrapper);
|
||||||
BigDecimal sum=BigDecimal.ZERO;
|
BigDecimal sum=BigDecimal.ZERO;
|
||||||
BigDecimal StorageAmount=BigDecimal.ZERO;
|
BigDecimal StorageAmount=BigDecimal.ZERO;
|
||||||
@ -325,6 +354,94 @@ public class StorageInServiceImpl implements StorageInService {
|
|||||||
storageService.updateMatLogList(out.getId(),2);
|
storageService.updateMatLogList(out.getId(),2);
|
||||||
storageMapper.deleteById(storageDO);
|
storageMapper.deleteById(storageDO);
|
||||||
storageMapper.deleteById(out);
|
storageMapper.deleteById(out);
|
||||||
|
List<Long> ids = purchaseOrderNoDetailDOS.stream()
|
||||||
|
.filter(Objects::nonNull) // 过滤空对象
|
||||||
|
.map(PurchaseOrderNoDetailDO::getPurchaseOrderId)
|
||||||
|
.filter(Objects::nonNull) // 过滤空ID
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
LambdaQueryWrapper<PurchaseOrderNoDO> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.in(PurchaseOrderNoDO::getId,ids);
|
||||||
|
|
||||||
|
List<PurchaseOrderNoDO> purchaseOrderNoDOS = purchaseOrderNoMapper.selectList(queryWrapper);
|
||||||
|
for (PurchaseOrderNoDO purchaseOrderNoDO : purchaseOrderNoDOS) {
|
||||||
|
LambdaQueryWrapper<PurchaseOrderNoDetailDO> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.eq(PurchaseOrderNoDetailDO::getPurchaseOrderId,purchaseOrderNoDO.getId());
|
||||||
|
List<PurchaseOrderNoDetailDO> lists = purchaseOrderNoDetailMapper.selectList(wrapper);
|
||||||
|
// 方法1:使用 Stream API(最简洁)
|
||||||
|
boolean allStatus3 = lists != null &&
|
||||||
|
!lists.isEmpty() &&
|
||||||
|
lists.stream()
|
||||||
|
.allMatch(detail -> detail.getReceivingStatus()==3);
|
||||||
|
if (allStatus3){
|
||||||
|
//采购订单收货完成
|
||||||
|
List<AttentiontodoDO> attentiontodook = attentiontodoMapper.selectByIdlist(10);//查找该类型的待办和关注人 改
|
||||||
|
|
||||||
|
String nickname = userApi.getUser( SecurityFrameworkUtils.getLoginUser().getId()).getNickname();
|
||||||
|
List<AttentiontodoDO> attentiontodook1 = attentiontodoService.getAttentiontodolistdaiban(10);
|
||||||
|
if (attentiontodook1.size()<1){
|
||||||
|
{
|
||||||
|
|
||||||
|
AttentiontodoDO attentiontodoDO = new AttentiontodoDO();
|
||||||
|
attentiontodoDO.setEvent("《采购订单》到货时通知检验");
|
||||||
|
attentiontodoDO.setAttr5("1");
|
||||||
|
attentiontodoDO.setAttr4(nickname);
|
||||||
|
attentiontodoDO.setLevel("1");
|
||||||
|
attentiontodook.add(attentiontodoDO);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
for (AttentiontodoDO attentiontodoRespVO : attentiontodook) {
|
||||||
|
{
|
||||||
|
// for (StorageLogNowDO storageLogNowDO : pageResult) {
|
||||||
|
bdgzsomthingDO BdgzsomthingDO = new bdgzsomthingDO();
|
||||||
|
BdgzsomthingDO.setThingname(attentiontodoRespVO.getEvent());//事件名称
|
||||||
|
BdgzsomthingDO.setThings("采购订单"+purchaseOrderNoDO.getPurchaseNo()+"已完成收货");//事件名称
|
||||||
|
|
||||||
|
BdgzsomthingDO.setAttr2(purchaseOrderNoDO.getPurchaseNo());//跳转携带参数
|
||||||
|
BdgzsomthingDO.setAttr3(purchaseOrderNoDO.getPurchaseNo());//独特标识
|
||||||
|
// BdgzsomthingDO.setClicktime(attentiontodoRespVO.getRemindtime());//提醒周期
|
||||||
|
// BdgzsomthingDO.setShowname(new Date());比较创建时间,不用单独填写
|
||||||
|
if(attentiontodoRespVO.getAttr5().equals("1")){//提醒状态
|
||||||
|
BdgzsomthingDO.setDborgz("待办");
|
||||||
|
}
|
||||||
|
else if(attentiontodoRespVO.getAttr5().equals("2")){
|
||||||
|
BdgzsomthingDO.setDborgz("关注");
|
||||||
|
}
|
||||||
|
if (ObjectUtil.isEmpty(attentiontodoRespVO.getAttr4())){
|
||||||
|
AdminUserDO user = adminUserService.getUser(Long.valueOf(purchaseOrderNoDO.getCreator()));
|
||||||
|
if (ObjectUtil.isNotEmpty(user)){
|
||||||
|
BdgzsomthingDO.setClick(user.getNickname());
|
||||||
|
}
|
||||||
|
|
||||||
|
}else {
|
||||||
|
BdgzsomthingDO.setClick(attentiontodoRespVO.getAttr4());
|
||||||
|
}//提醒人
|
||||||
|
if(attentiontodoRespVO.getLevel().equals("1")){
|
||||||
|
BdgzsomthingDO.setLevel("紧急");
|
||||||
|
}
|
||||||
|
else if(attentiontodoRespVO.getLevel().equals("2")){
|
||||||
|
BdgzsomthingDO.setLevel("一般");
|
||||||
|
}
|
||||||
|
else if(attentiontodoRespVO.getLevel().equals("3")){
|
||||||
|
BdgzsomthingDO.setLevel("非紧急");
|
||||||
|
}
|
||||||
|
// BdgzsomthingDO.setClick(attentiontodoRespVO.getRemindman());//提醒人
|
||||||
|
BdgzsomthingDO.setYesorno("0");//是否点击
|
||||||
|
BdgzsomthingDO.setAttr4("0");//是否已处理
|
||||||
|
|
||||||
|
// BdgzsomthingDO.setShowname(operateReqVO.getCreateTime());//获取数据当前表的创建事件 改
|
||||||
|
bdgzsomthingMapper.insert(BdgzsomthingDO);
|
||||||
|
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
return CommonResult.success(true);
|
return CommonResult.success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,6 +59,7 @@ import java.util.concurrent.atomic.AtomicReference;
|
|||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static com.chanko.yunxi.mes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
|
import static com.chanko.yunxi.mes.framework.security.core.util.SecurityFrameworkUtils.getLoginUser;
|
||||||
import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*;
|
import static com.chanko.yunxi.mes.module.heli.enums.ErrorCodeConstants.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -115,6 +116,7 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
|||||||
serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1);
|
serialNumberDO.setSerialNumber(serialNumberDO.getSerialNumber()+1);
|
||||||
taskDispatch.setCode(taskDispatchTypeEnum.getCodeEnum().getCode(serialNumberDO.getSerialNumber().toString()));
|
taskDispatch.setCode(taskDispatchTypeEnum.getCodeEnum().getCode(serialNumberDO.getSerialNumber().toString()));
|
||||||
taskDispatch.setDispatchStatus(TaskDispatchStatusEnum.valueOf(createReqVO.getActive()).getCode());
|
taskDispatch.setDispatchStatus(TaskDispatchStatusEnum.valueOf(createReqVO.getActive()).getCode());
|
||||||
|
taskDispatch.setCreator(getLoginUser().getId().toString());
|
||||||
taskDispatchMapper.insert(taskDispatch);
|
taskDispatchMapper.insert(taskDispatch);
|
||||||
|
|
||||||
// 回写序列记录
|
// 回写序列记录
|
||||||
@ -236,12 +238,14 @@ public class TaskDispatchServiceImpl implements TaskDispatchService {
|
|||||||
//2025-01-17 取消提交 - 如果已报工完成的工序,报工状态还是已完成
|
//2025-01-17 取消提交 - 如果已报工完成的工序,报工状态还是已完成
|
||||||
if (taskDispatchDetailDO.getProcedureStatus() != 2){
|
if (taskDispatchDetailDO.getProcedureStatus() != 2){
|
||||||
taskDispatchDetailDO.setProcedureStatus(TaskDispatchProcedureStatusEnum.DEFAULT.getCode());
|
taskDispatchDetailDO.setProcedureStatus(TaskDispatchProcedureStatusEnum.DEFAULT.getCode());
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
updateObj.setDispatchStatus(TaskDispatchStatusEnum.valueOf(updateReqVO.getActive()).getCode());
|
updateObj.setDispatchStatus(TaskDispatchStatusEnum.valueOf(updateReqVO.getActive()).getCode());
|
||||||
|
if (ObjectUtil.isEmpty(updateObj.getCreator())){
|
||||||
|
updateObj.setCreator(getLoginUser().getId().toString());
|
||||||
|
}
|
||||||
taskDispatchMapper.updateById(updateObj);
|
taskDispatchMapper.updateById(updateObj);
|
||||||
// 更新子表
|
// 更新子表
|
||||||
if(operateTypeEnum != OperateTypeEnum.CANCEL_SUBMIT){
|
if(operateTypeEnum != OperateTypeEnum.CANCEL_SUBMIT){
|
||||||
|
@ -22,7 +22,6 @@ FROM (
|
|||||||
a.id
|
a.id
|
||||||
FROM project_material_plan_boom a
|
FROM project_material_plan_boom a
|
||||||
JOIN project_material_plan b ON a.project_material_plan_id = b.id
|
JOIN project_material_plan b ON a.project_material_plan_id = b.id
|
||||||
JOIN base_material bm ON a.material_id = bm.id
|
|
||||||
WHERE CURDATE() >= DATE_SUB(a.boom_arrive_date, INTERVAL #{evday} DAY)
|
WHERE CURDATE() >= DATE_SUB(a.boom_arrive_date, INTERVAL #{evday} DAY)
|
||||||
AND b.tenant_id = #{id}
|
AND b.tenant_id = #{id}
|
||||||
and a.deleted=0
|
and a.deleted=0
|
||||||
|
@ -63,7 +63,6 @@ FROM (
|
|||||||
a.id
|
a.id
|
||||||
FROM project_material_plan_boom a
|
FROM project_material_plan_boom a
|
||||||
JOIN project_material_plan b ON a.project_material_plan_id = b.id
|
JOIN project_material_plan b ON a.project_material_plan_id = b.id
|
||||||
JOIN base_material bm ON a.material_id = bm.id
|
|
||||||
WHERE CURDATE() >= DATE_SUB(a.boom_arrive_date, INTERVAL 10 DAY)
|
WHERE CURDATE() >= DATE_SUB(a.boom_arrive_date, INTERVAL 10 DAY)
|
||||||
AND b.tenant_id = 2
|
AND b.tenant_id = 2
|
||||||
and a.deleted=0
|
and a.deleted=0
|
||||||
|
@ -65,3 +65,7 @@ export const exportStorage = async (params) => {
|
|||||||
export const procurementAndStorage = async (data) => {
|
export const procurementAndStorage = async (data) => {
|
||||||
return await request.post({ url: `/heli/storage/procurementAndStorage`, data })
|
return await request.post({ url: `/heli/storage/procurementAndStorage`, data })
|
||||||
}
|
}
|
||||||
|
// 查询入库详情
|
||||||
|
export const isPrint = async (id: number) => {
|
||||||
|
return await request.get({ url: `/heli/storage/isPrint?id=` + id })
|
||||||
|
}
|
||||||
|
@ -350,6 +350,8 @@ link type="primary" size="small" :disabled="ctrView || ctrDelete"
|
|||||||
</el-form>
|
</el-form>
|
||||||
<div class="hl-footer text-center">
|
<div class="hl-footer text-center">
|
||||||
<el-button @click="() => router.go(-1)" size="large">取 消</el-button>
|
<el-button @click="() => router.go(-1)" size="large">取 消</el-button>
|
||||||
|
<el-button @click="isPrint()" type="primary" size="large" >打印</el-button>
|
||||||
|
|
||||||
<el-button @click="submitForm" type="success" v-if="btnSave" size="large">保
|
<el-button @click="submitForm" type="success" v-if="btnSave" size="large">保
|
||||||
存</el-button>
|
存</el-button>
|
||||||
<el-button @click="handleStatus(2)" type="primary" v-if="btnSave" size="large">提
|
<el-button @click="handleStatus(2)" type="primary" v-if="btnSave" size="large">提
|
||||||
@ -388,6 +390,7 @@ import materials from './materialsin.vue'
|
|||||||
import projects from './subproject.vue'
|
import projects from './subproject.vue'
|
||||||
import {Search} from "@element-plus/icons-vue";
|
import {Search} from "@element-plus/icons-vue";
|
||||||
import purchaseorderDialog from '@/views/heli/outsourcestock/purchaseorderDialog.vue'
|
import purchaseorderDialog from '@/views/heli/outsourcestock/purchaseorderDialog.vue'
|
||||||
|
import * as StorageinApi from "@/api/heli/storagein";
|
||||||
|
|
||||||
const reload: any = inject('reload')
|
const reload: any = inject('reload')
|
||||||
|
|
||||||
@ -450,6 +453,10 @@ const openMatForm = () => {
|
|||||||
// formData.value.whId
|
// formData.value.whId
|
||||||
matOpenFormRef.value.open(formData.value.whId,'in')
|
matOpenFormRef.value.open(formData.value.whId,'in')
|
||||||
}
|
}
|
||||||
|
const isPrint = async () => {
|
||||||
|
var newVar = await StorageApi.isPrint(query.id);
|
||||||
|
console.log(newVar)
|
||||||
|
}
|
||||||
const handleSelectedProjectPurchaseorder = (arr) => {
|
const handleSelectedProjectPurchaseorder = (arr) => {
|
||||||
if (arr) {
|
if (arr) {
|
||||||
formData.value.headerNo = arr.purchaseNo
|
formData.value.headerNo = arr.purchaseNo
|
||||||
|
@ -189,8 +189,8 @@ class="!w-260px" v-model="formData.createTime" type="date" value-format="x"
|
|||||||
<el-checkbox label="磨床" size="large" border />
|
<el-checkbox label="磨床" size="large" border />
|
||||||
<el-checkbox label="数控1" size="large" border />
|
<el-checkbox label="数控1" size="large" border />
|
||||||
<el-checkbox label="数控2" size="large" border />
|
<el-checkbox label="数控2" size="large" border />
|
||||||
|
<el-checkbox label="线切割" size="large" border />
|
||||||
<el-checkbox label="火花" size="large" border />
|
<el-checkbox label="火花" size="large" border />
|
||||||
<el-checkbox label="线切割" size="large" border />
|
|
||||||
<el-checkbox label="刻字" size="large" border />
|
<el-checkbox label="刻字" size="large" border />
|
||||||
<el-checkbox label="网格" size="large" border />
|
<el-checkbox label="网格" size="large" border />
|
||||||
<el-checkbox label="深孔钻" size="large" border />
|
<el-checkbox label="深孔钻" size="large" border />
|
||||||
|
Loading…
Reference in New Issue
Block a user