Merge remote-tracking branch 'origin/master'

This commit is contained in:
曹磊 2025-12-02 13:33:01 +08:00
commit eaad08e8af
14 changed files with 357 additions and 95 deletions

View File

@ -116,6 +116,24 @@ public class InvoicingQldApi {
}
}
/**
* 请领单-移除物料
* 传请领单号+物料id
*
* @param queryDto
* @return
*/
@ApiOperation(value = "请领单-移除物料", notes = "请领单-移除物料")
@PostMapping(value = "/deleteQldWl")
public Result<?> deleteQldWl(@RequestBody InvoicingQldQueryEntity queryDto) {
boolean result = qinglingApi.deleteQldWl(queryDto);
if (result) {
return Result.OK("移除成功");
} else {
return Result.error("移除失败");
}
}
/**
* 请领单-购物车-清空
* 传nuid+elderid
@ -318,15 +336,28 @@ public class InvoicingQldApi {
*/
@ApiOperation(value = "请领单-出库(单个/批量)", notes = "请领单-出库(单个/批量)")
@PostMapping(value = "/outbound")
public Result<?> outbound(@RequestBody InvoicingQldMainEntity dto) {
public Result<Map<String, Object>> outbound(@RequestBody InvoicingQldMainEntity dto) {
if (StringUtils.isBlank(dto.getQldNo())) {
return Result.error("缺少参数");
}
boolean result = qinglingApi.outbound(dto);
return Result.ok(qinglingApi.outbound(dto));
}
/**
* 请领单-调整物料数量
* 传请领单号+物料id+物料数量
*
* @param queryDto
* @return
*/
@ApiOperation(value = "请领单-调整物料数量", notes = "请领单-调整物料数量")
@PostMapping(value = "/updateQldWlSl")
public Result<?> updateQldWlSl(@RequestBody InvoicingQldQueryEntity queryDto) {
boolean result = qinglingApi.updateQldWlSl(queryDto);
if (result) {
return Result.OK("出库成功");
return Result.OK("修改成功");
} else {
return Result.error("出库失败");
return Result.error("修改失败");
}
}

View File

@ -56,4 +56,9 @@ public class InvoicingQldQueryEntity{
*/
private String searchContent;
/**
* 请领数量
*/
private Integer qlNum;
}

View File

@ -43,5 +43,9 @@ public interface IQinglingApi {
boolean orderReturn(InvoicingQldMainEntity dto);
boolean outbound(InvoicingQldMainEntity dto);
Map<String, Object> outbound(InvoicingQldMainEntity dto);
boolean deleteQldWl(InvoicingQldQueryEntity queryDto);
boolean updateQldWlSl(InvoicingQldQueryEntity queryDto);
}

View File

@ -211,7 +211,7 @@ public class ConfigMaterialCategoryServiceImpl extends ServiceImpl<ConfigMateria
infoMap.put("izEnabled",par.getIzEnabled());
infoMap.put("children",wllxMap2List);
infoMap.put("categoryId",par.getId());
infoMap.put("parentIzEnabled",par.getIzEnabled());
infoMap.put("parentIzEnabled","N");
infoMap.put("appIconPath",par.getAppIconPath());
infoMap.put("appCheckIconPath",par.getAppCheckIconPath());
infoMap.put("icon",par.getIcon());

View File

@ -52,7 +52,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
public class NuInvoicingQldInfoController extends JeecgController<NuInvoicingQldInfo, INuInvoicingQldInfoService> {
@Autowired
private INuInvoicingQldInfoService nuInvoicingQldInfoService;
/**
* 分页列表查询
*
@ -71,10 +71,10 @@ public class NuInvoicingQldInfoController extends JeecgController<NuInvoicingQld
HttpServletRequest req) {
QueryWrapper<NuInvoicingQldInfo> queryWrapper = QueryGenerator.initQueryWrapper(nuInvoicingQldInfo, req.getParameterMap());
Page<NuInvoicingQldInfo> page = new Page<NuInvoicingQldInfo>(pageNo, pageSize);
IPage<NuInvoicingQldInfo> pageList = nuInvoicingQldInfoService.page(page, queryWrapper);
IPage<NuInvoicingQldInfo> pageList = nuInvoicingQldInfoService.pages(page, nuInvoicingQldInfo);
return Result.OK(pageList);
}
/**
* 添加
*
@ -89,7 +89,7 @@ public class NuInvoicingQldInfoController extends JeecgController<NuInvoicingQld
nuInvoicingQldInfoService.save(nuInvoicingQldInfo);
return Result.OK("添加成功!");
}
/**
* 编辑
*
@ -104,7 +104,7 @@ public class NuInvoicingQldInfoController extends JeecgController<NuInvoicingQld
nuInvoicingQldInfoService.updateById(nuInvoicingQldInfo);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
@ -119,7 +119,7 @@ public class NuInvoicingQldInfoController extends JeecgController<NuInvoicingQld
nuInvoicingQldInfoService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
@ -134,7 +134,7 @@ public class NuInvoicingQldInfoController extends JeecgController<NuInvoicingQld
this.nuInvoicingQldInfoService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*

View File

@ -4,10 +4,9 @@ import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.*;
import com.nu.modules.warehouseMaterialInfo.entity.BlWarehouseMaterialInfo;
import org.jeecg.common.constant.ProvinceCityArea;
import org.jeecg.common.util.SpringContextUtils;
import lombok.Data;
@ -58,13 +57,14 @@ public class NuInvoicingQldInfo implements Serializable {
@Excel(name = "请领单单号", width = 15)
@ApiModelProperty(value = "请领单单号")
private java.lang.String qldNo;
/**库房id nu_warehouse_material_info.nu_id*/
@Excel(name = "库房id nu_warehouse_material_info.nu_id", width = 15)
@ApiModelProperty(value = "库房id nu_warehouse_material_info.nu_id")
/**库房*/
@Excel(name = "库房", width = 15)
@ApiModelProperty(value = "库房")
@Dict(dictTable = "nu_base_info", dicCode = "nu_id", dicText = "nu_name")
private java.lang.String kfId;
/**物料id nu_config_material_info.id*/
@Excel(name = "物料id nu_config_material_info.id", width = 15)
@ApiModelProperty(value = "物料id nu_config_material_info.id")
/**物料*/
@Excel(name = "物料", width = 15)
@ApiModelProperty(value = "物料")
private java.lang.String wlId;
/**请领数量*/
@Excel(name = "请领数量", width = 15)
@ -78,4 +78,11 @@ public class NuInvoicingQldInfo implements Serializable {
@Excel(name = "长者id nu_biz_elder_info.id", width = 15)
@ApiModelProperty(value = "长者id nu_biz_elder_info.id")
private java.lang.String elderId;
//物料信息
@TableField(exist = false)
private BlWarehouseMaterialInfo meterialInfo;
//库房名称
@TableField(exist = false)
private java.lang.String kfName;
}

View File

@ -22,121 +22,177 @@ import lombok.experimental.Accessors;
/**
* @Description: 进销存-请领单-主表
* @Author: jeecg-boot
* @Date: 2025-11-26
* @Date: 2025-11-26
* @Version: V1.0
*/
@Data
@TableName("nu_invoicing_qld_main")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="nu_invoicing_qld_main对象", description="进销存-请领单-主表")
@ApiModel(value = "nu_invoicing_qld_main对象", description = "进销存-请领单-主表")
public class NuInvoicingQldMain implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
/**
* id
*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private java.lang.String id;
/**createBy*/
/**
* createBy
*/
@ApiModelProperty(value = "createBy")
private java.lang.String createBy;
/**createTime*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
/**
* createTime
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "createTime")
private java.util.Date createTime;
/**updateBy*/
/**
* updateBy
*/
@ApiModelProperty(value = "updateBy")
private java.lang.String updateBy;
/**updateTime*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
/**
* updateTime
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "updateTime")
private java.util.Date updateTime;
/**请领单单号*/
@Excel(name = "请领单单号", width = 15)
/**
* 请领单单号
*/
@Excel(name = "请领单单号", width = 15)
@ApiModelProperty(value = "请领单单号")
private java.lang.String qldNo;
/**请领状态 0购物车 1已作废 2已回退 3待出库 4已出库 5已收货*/
@Excel(name = "请领状态 0购物车 1已作废 2已回退 3待出库 4已出库 5已收货", width = 15)
@ApiModelProperty(value = "请领状态 0购物车 1已作废 2已回退 3待出库 4已出库 5已收货")
/**
* 请领状态
*/
@Excel(name = "请领状态", width = 15)
@ApiModelProperty(value = "请领状态")
@Dict(dicCode = "qld_status")
private java.lang.String status;
/**员工是否已读 Y已读 N有最新未读*/
@Excel(name = "员工是否已读 Y已读 N有最新未读", width = 15)
/**
* 员工是否已读 Y已读 N有最新未读
*/
@Excel(name = "员工是否已读 Y已读 N有最新未读", width = 15)
@ApiModelProperty(value = "员工是否已读 Y已读 N有最新未读")
private java.lang.String izYgRead;
/**库管是否已读 Y已读 N有最新未读*/
@Excel(name = "库管是否已读 Y已读 N有最新未读", width = 15)
/**
* 库管是否已读 Y已读 N有最新未读
*/
@Excel(name = "库管是否已读 Y已读 N有最新未读", width = 15)
@ApiModelProperty(value = "库管是否已读 Y已读 N有最新未读")
private java.lang.String izKgRead;
/**提交人*/
@Excel(name = "提交人", width = 15)
/**
* 提交人
*/
@Excel(name = "提交人", width = 15)
@ApiModelProperty(value = "提交人")
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
private java.lang.String tjBy;
/**提交时间*/
@Excel(name = "提交时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
/**
* 提交时间
*/
@Excel(name = "提交时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "提交时间")
private java.util.Date tjTime;
/**作废人*/
@Excel(name = "作废人", width = 15)
/**
* 作废人
*/
@Excel(name = "作废人", width = 15)
@ApiModelProperty(value = "作废人")
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
private java.lang.String zfBy;
/**作废时间*/
@Excel(name = "作废时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
/**
* 作废时间
*/
@Excel(name = "作废时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "作废时间")
private java.util.Date zfTime;
/**回退人*/
@Excel(name = "回退人", width = 15)
/**
* 回退人
*/
@Excel(name = "回退人", width = 15)
@ApiModelProperty(value = "回退人")
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
private java.lang.String htBy;
/**回退时间*/
@Excel(name = "回退时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
/**
* 回退时间
*/
@Excel(name = "回退时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "回退时间")
private java.util.Date htTime;
/**出库人*/
@Excel(name = "出库人", width = 15)
/**
* 出库人
*/
@Excel(name = "出库人", width = 15)
@ApiModelProperty(value = "出库人")
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
private java.lang.String ckBy;
/**出库时间*/
@Excel(name = "出库时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
/**
* 出库时间
*/
@Excel(name = "出库时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "出库时间")
private java.util.Date ckTime;
/**收货人*/
@Excel(name = "收货人", width = 15)
/**
* 收货人
*/
@Excel(name = "收货人", width = 15)
@ApiModelProperty(value = "收货人")
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
private java.lang.String shBy;
/**收货时间*/
@Excel(name = "收货时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
/**
* 收货时间
*/
@Excel(name = "收货时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "收货时间")
private java.util.Date shTime;
/**节点名称*/
@Excel(name = "节点名称", width = 15)
/**
* 节点名称
*/
@Excel(name = "节点名称", width = 15)
@ApiModelProperty(value = "节点名称")
private java.lang.String jdMc;
/**nuid nu_base_info.nu_id*/
@Excel(name = "nuid nu_base_info.nu_id", width = 15)
/**
* nuid nu_base_info.nu_id
*/
@Excel(name = "NUID", width = 15)
@ApiModelProperty(value = "nuid nu_base_info.nu_id")
@Dict(dictTable = "nu_base_info", dicCode = "nu_id", dicText = "nu_name")
private java.lang.String nuId;
/**长者id nu_biz_elder_info.id*/
@Excel(name = "长者id nu_biz_elder_info.id", width = 15)
/**
* 长者id nu_biz_elder_info.id
*/
@Excel(name = "长者姓名", width = 15)
@ApiModelProperty(value = "长者id nu_biz_elder_info.id")
@Dict(dictTable = "nu_biz_elder_info", dicCode = "id", dicText = "name")
private java.lang.String elderId;
/**作废原因*/
@Excel(name = "作废原因", width = 15)
/**
* 作废原因
*/
@Excel(name = "作废原因", width = 15)
@ApiModelProperty(value = "作废原因")
private java.lang.String zfYy;
/**回退原因*/
@Excel(name = "回退原因", width = 15)
/**
* 回退原因
*/
@Excel(name = "回退原因", width = 15)
@ApiModelProperty(value = "回退原因")
private java.lang.String htYy;

View File

@ -2,6 +2,10 @@ package com.nu.modules.qld.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nu.entity.InvoicingQldInfoEntity;
import com.nu.entity.InvoicingQldQueryEntity;
import org.apache.ibatis.annotations.Param;
@ -11,10 +15,16 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 进销存-请领单-请领信息表
* @Author: jeecg-boot
* @Date: 2025-11-26
* @Date: 2025-11-26
* @Version: V1.0
*/
public interface NuInvoicingQldInfoMapper extends BaseMapper<NuInvoicingQldInfo> {
List<InvoicingQldInfoEntity> queryWlInfo(InvoicingQldQueryEntity queryDto);
IPage<NuInvoicingQldInfo> pages(Page<NuInvoicingQldInfo> page, @Param("dto") NuInvoicingQldInfo dto);
int deleteQldWl(InvoicingQldQueryEntity queryDto);
int updateQldWlSl(InvoicingQldQueryEntity queryDto);
}

View File

@ -56,4 +56,49 @@
ORDER BY
MAX(info.create_time) DESC
</select>
<select id="pages" resultType="com.nu.modules.qld.entity.NuInvoicingQldInfo">
SELECT info.kf_id as "kfId",
info.ql_num as "qlNum",
baseInfo.nu_name AS "kfName",
material.id AS "meterialInfo.id",
material.category_id AS "meterialInfo.categoryId",
material.type_id AS "meterialInfo.typeId",
material.medication_id AS "meterialInfo.medicationId",
material.material_name AS "meterialInfo.materialName",
material.material_no AS "meterialInfo.materialNo",
material.specification_model AS "meterialInfo.specificationModel",
material.sales_unit_price AS "meterialInfo.salesUnitPrice",
material.reference_unit_price AS "meterialInfo.referenceUnitPrice",
material.material_units AS "meterialInfo.materialUnits",
material.multi_unit_switch AS "meterialInfo.multiUnitSwitch",
material.one_unit AS "meterialInfo.oneUnit",
material.one_unit_proportion AS "meterialInfo.oneUnitProportion",
material.one_unit_price AS "meterialInfo.oneUnitPrice",
material.two_unit AS "meterialInfo.twoUnit",
material.two_unit_proportion AS "meterialInfo.twoUnitProportion",
material.two_unit_price AS "meterialInfo.twoUnitPrice",
material.multi_unit_type AS "meterialInfo.multiUnitType",
material.suppliers AS "meterialInfo.suppliers",
material.material_img AS "meterialInfo.materialImg",
material.material_ident AS "meterialInfo.materialIdent",
material.iz_enabled AS "meterialInfo.izEnabled",
material.del_flag AS "meterialInfo.delFlag",
material.tag_type AS "meterialInfo.tagType",
material.iz_ybbx AS "meterialInfo.izYbbx",
material.iz_jgyh AS "meterialInfo.izJgyh"
FROM nu_invoicing_qld_info info
LEFT JOIN nu_config_material_info material ON info.wl_id = material.id
LEFT JOIN nu_base_info baseInfo ON info.kf_id = baseInfo.nu_id
where info.qld_no = #{dto.qldNo}
order by info.create_time desc
</select>
<delete id="deleteQldWl">
delete from nu_invoicing_qld_info where qld_no = #{qldNo} and wl_id = #{wlId}
</delete>
<update id="updateQldWlSl">
update nu_invoicing_qld_info set ql_num = #{qlNum} where qld_no = #{qldNo} and wl_id = #{wlId}
</update>
</mapper>

View File

@ -1,5 +1,8 @@
package com.nu.modules.qld.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nu.modules.qld.entity.NuInvoicingQldInfo;
import com.baomidou.mybatisplus.extension.service.IService;
@ -11,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface INuInvoicingQldInfoService extends IService<NuInvoicingQldInfo> {
IPage<NuInvoicingQldInfo> pages(Page<NuInvoicingQldInfo> page, NuInvoicingQldInfo dto);
}

View File

@ -11,4 +11,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface INuInvoicingQldLogService extends IService<NuInvoicingQldLog> {
boolean opeNodeJudgeCanStatus(String qldNo, String status);
}

View File

@ -1,5 +1,8 @@
package com.nu.modules.qld.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nu.modules.qld.entity.NuInvoicingQldInfo;
import com.nu.modules.qld.mapper.NuInvoicingQldInfoMapper;
import com.nu.modules.qld.service.INuInvoicingQldInfoService;
@ -16,4 +19,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@Service
public class NuInvoicingQldInfoServiceImpl extends ServiceImpl<NuInvoicingQldInfoMapper, NuInvoicingQldInfo> implements INuInvoicingQldInfoService {
@Override
public IPage<NuInvoicingQldInfo> pages(Page<NuInvoicingQldInfo> page, NuInvoicingQldInfo dto) {
return baseMapper.pages(page,dto);
}
}

View File

@ -1,19 +1,51 @@
package com.nu.modules.qld.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.nu.modules.qld.entity.NuInvoicingQldLog;
import com.nu.modules.qld.mapper.NuInvoicingQldLogMapper;
import com.nu.modules.qld.service.INuInvoicingQldLogService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.util.CollectionUtils;
import java.util.Arrays;
import java.util.List;
/**
* @Description: 进销存-请领单-操作日志表
* @Author: jeecg-boot
* @Date: 2025-11-26
* @Date: 2025-11-26
* @Version: V1.0
*/
@Service
public class NuInvoicingQldLogServiceImpl extends ServiceImpl<NuInvoicingQldLogMapper, NuInvoicingQldLog> implements INuInvoicingQldLogService {
/**
* 操作节点是否可以正常执行如是否可以提交
*
* @param qldNo
* @param status 需要判断操作节点 ->之前应该存在的状态<- 多个使用逗号分隔
* @return
*/
@Override
public boolean opeNodeJudgeCanStatus(String qldNo, String status) {
QueryWrapper<NuInvoicingQldLog> logQW = new QueryWrapper<>();
logQW.eq("qld_no", qldNo);
logQW.orderByDesc("create_time");
List<NuInvoicingQldLog> logList = baseMapper.selectList(logQW);
if (!CollectionUtils.isEmpty(logList)) {
String status_ = logList.get(0).getStatus();
String[] statusArray = status.split(",");
for (String s : statusArray) {
if (s.equals(status_)) {
return true;
}
}
return false;
} else {
return false;
}
}
}

View File

@ -37,6 +37,7 @@ import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.system.api.ISysBaseAPI;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.RedisUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -95,6 +96,8 @@ public class QingLingServiceImpl implements IQinglingApi {
private IBlWarehouseMaterialInfoService warehouseMaterialInfoService;
@Autowired
private INuWarehouseMaterialCrkInfoService warehouseMaterialCrkInfoService;
@Autowired
private RedisUtil redisUtil;
@Override
public List<Map<String, Object>> getMaterialTreeData(MaterialCategoryEntity materialCategoryEntity) {
@ -184,6 +187,14 @@ public class QingLingServiceImpl implements IQinglingApi {
return invoicingQldGwcService.deletePhysics(queryDto.getGwcId()) > 0 ? true : false;
}
@Override
public boolean deleteQldWl(InvoicingQldQueryEntity queryDto) {
if (StringUtils.isBlank(queryDto.getQldNo()) || StringUtils.isBlank(queryDto.getWlId())) {
return false;
}
return invoicingQldInfoMapper.deleteQldWl(queryDto) > 0 ? true : false;
}
@Override
public boolean removeAllGwc(InvoicingQldQueryEntity queryDto) {
if (StringUtils.isBlank(queryDto.getNuId()) || StringUtils.isBlank(queryDto.getElderId())) {
@ -246,6 +257,12 @@ public class QingLingServiceImpl implements IQinglingApi {
public Map<String, Object> submitQld(InvoicingQldGwcEntity dto) {
Map<String, Object> result = Maps.newHashMap();
if (StringUtils.isNotBlank(dto.getQldNo())) {
//检测是否可以正常提交
if (!invoicingQldLogService.opeNodeJudgeCanStatus(dto.getQldNo(), "3")) {
result.put("status", "faild");
return result;
}
//回退单-提交
QueryWrapper<NuInvoicingQldMain> qw = new QueryWrapper<>();
qw.eq("qld_no", dto.getQldNo());
@ -284,6 +301,12 @@ public class QingLingServiceImpl implements IQinglingApi {
gwcQW.eq("elder_id", dto.getElderId());
List<NuInvoicingQldGwc> gwcList = invoicingQldGwcService.list(gwcQW);
//请购车未添加物料
if (CollectionUtils.isEmpty(gwcList)) {
result.put("status", "empty");
return result;
}
//检测哪些物料有未完成请领流程的
{
//请领流程未完成物料id
@ -521,12 +544,14 @@ public class QingLingServiceImpl implements IQinglingApi {
@Override
public boolean cancellation(InvoicingQldMainEntity dto) {
//检测是否可以正常作废
if (!invoicingQldLogService.opeNodeJudgeCanStatus(dto.getQldNo(), "1,3")) {
return false;
}
QueryWrapper<NuInvoicingQldMain> qw = new QueryWrapper<>();
qw.eq("qld_no", dto.getQldNo());
NuInvoicingQldMain one = invoicingQldMainService.getOne(qw);
if (one == null || !"1".equals(one.getStatus())) {
return false;
}
dto.setNuId(one.getNuId());
dto.setElderId(one.getElderId());
String status = "2";
@ -579,7 +604,11 @@ public class QingLingServiceImpl implements IQinglingApi {
@Override
@Transactional(rollbackFor = Exception.class)
public boolean confirmReceipt(InvoicingQldMainEntity dto) {
// Map<String, Object> result = Maps.newHashMap();
//检测是否可以正常收货
if (!invoicingQldLogService.opeNodeJudgeCanStatus(dto.getQldNo(), "4")) {
return false;
}
String status = "5";
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@ -720,12 +749,14 @@ public class QingLingServiceImpl implements IQinglingApi {
@Override
public boolean orderReturn(InvoicingQldMainEntity dto) {
//检测是否可以正常回退
if (!invoicingQldLogService.opeNodeJudgeCanStatus(dto.getQldNo(), "1,4")) {
return false;
}
QueryWrapper<NuInvoicingQldMain> qw = new QueryWrapper<>();
qw.eq("qld_no", dto.getQldNo());
NuInvoicingQldMain one = invoicingQldMainService.getOne(qw);
if (one == null || "2".equals(one.getStatus()) || "3".equals(one.getStatus()) || "5".equals(one.getStatus())) {
return false;
}
dto.setNuId(one.getNuId());
dto.setElderId(one.getElderId());
String status = "3";
@ -751,7 +782,26 @@ public class QingLingServiceImpl implements IQinglingApi {
}
@Override
public boolean outbound(InvoicingQldMainEntity dto) {
public Map<String, Object> outbound(InvoicingQldMainEntity dto) {
Map<String, Object> map = new HashMap<>();
//检测是否可以正常出库
String[] qldNosArr = dto.getQldNo().split(",");
//本次处理单号中 - 不可出库单号
String cannotHandleQldNos = Arrays.stream(qldNosArr)
.filter(qldNo -> !invoicingQldLogService.opeNodeJudgeCanStatus(qldNo, "1"))
.collect(Collectors.joining(","));
//本次处理单号中 - 可正常出库单号
String normalQldNos = Arrays.stream(qldNosArr)
.filter(qldNo -> !cannotHandleQldNos.contains(qldNo))
.collect(Collectors.joining(","));
if (StringUtils.isBlank(normalQldNos)) {
map.put("status", "faild");
map.put("faildQldNos", cannotHandleQldNos);
return map;
}
dto.setQldNo(normalQldNos);
QueryWrapper<NuInvoicingQldMain> qw = new QueryWrapper<>();
qw.in("qld_no", dto.getQldNo().split(","));
List<NuInvoicingQldMain> list = invoicingQldMainService.list(qw);
@ -784,7 +834,16 @@ public class QingLingServiceImpl implements IQinglingApi {
qldData.setIzYgRead("N");//员工改为未读
qldData.setCkBy(sysUser.getId());//出库人
qldData.setCkTime(new Date());//出库时间
return invoicingQldMainService.update(qldData, qw);
invoicingQldMainService.update(qldData, qw);
map.put("status", "success");
return map;
}
@Override
public boolean updateQldWlSl(InvoicingQldQueryEntity queryDto) {
if (StringUtils.isBlank(queryDto.getQldNo()) || StringUtils.isBlank(queryDto.getWlId()) || queryDto.getQlNum() == null) {
return false;
}
return invoicingQldInfoMapper.updateQldWlSl(queryDto) > 0 ? true : false;
}
}