Merge remote-tracking branch 'origin/dev-nx' into dev-nx

This commit is contained in:
15856 2024-07-03 09:55:34 +08:00
commit 6001521609
35 changed files with 780 additions and 243 deletions

View File

@ -67,6 +67,11 @@ public class LeaseOutDetails implements Serializable {
*/
@ApiModelProperty(value = "规格名称")
private String typeName;
/**
* 规格名称
*/
@ApiModelProperty(value = "规格型号")
private String typeModelName;
/**
* maId
@ -79,6 +84,16 @@ public class LeaseOutDetails implements Serializable {
*/
@ApiModelProperty(value = "机具编号")
private String maCode;
/**
* 出库人
*/
@ApiModelProperty(value = "出库人")
private String outPerson;
/**
* 领料人
*/
@ApiModelProperty(value = "领料人")
private String leasePerson;
/**
* 协议ID

View File

@ -133,6 +133,18 @@ public class LeaseOutDetailsController extends BaseController {
public AjaxResult submitOut(@RequestBody LeaseOutDetails record) {
return leaseOutDetailsService.submitOut(record);
}
/**
* 领料出库出库单查询
*
* @param parentId
*/
@Log(title = "出库单查询", businessType = BusinessType.MATERIAL)
@GetMapping("/getOutboundOrder")
public AjaxResult getOutboundOrder(String parentId) {
startPage();
List<LeaseOutDetails> outboundOrder = leaseOutDetailsService.getOutboundOrder(parentId);
return AjaxResult.success(getDataTable(outboundOrder));
}
/**
* @param recordList

View File

@ -541,7 +541,7 @@ public class TmTaskController extends BaseController {
@PostMapping("/outboundCompleted")
public AjaxResult outboundCompleted(@RequestBody TmTask task) {
int i = tmTaskService.updateLeaseAuditListByOne(task);
if (i == 0) {
if (i > 0) {
return AjaxResult.success();
} else {
return AjaxResult.error();

View File

@ -52,6 +52,12 @@ public class LeaseApplyDetails implements Serializable {
@ApiModelProperty(value = "领料出库状态")
private String statusName;
/**
* 车牌号
*/
@ApiModelProperty(value = "领料出库状态")
private String carCode;
/**
* 规格型号
*/

View File

@ -107,4 +107,6 @@ public interface LeaseOutDetailsMapper {
LeaseApplyDetails getLeaseApplyDetails(@Param("record") LeaseOutDetails record);
int updateLeaseApplyDetails(@Param("record") LeaseOutDetails record);
List<LeaseOutDetails> getOutboundOrder(String parentId);
}

View File

@ -139,6 +139,7 @@ public interface TmTaskMapper {
int getDeptId(String createBy);
List<TmTask> getLeaseOutListByjjbz(TmTask task);
List<TmTask> getLeaseOutListByts(TmTask task);
List<TmTask> getLeaseOutListByAdmin(TmTask task);
int updateLeaseAuditListByOne(TmTask task);

View File

@ -40,6 +40,7 @@ public interface LeaseOutDetailsService {
* @return 结果
*/
AjaxResult submitOut(LeaseOutDetails record);
List<LeaseOutDetails> getOutboundOrder(String parentId);
/**
* 根据code编码查询设备信息
* @param maCode 机具编码

View File

@ -198,38 +198,43 @@ public class LeaseOutDetailsServiceImpl implements LeaseOutDetailsService {
return AjaxResult.success("出库成功");
}
@Override
public List<LeaseOutDetails> getOutboundOrder(String parentId) {
return leaseOutDetailsMapper.getOutboundOrder(parentId);
}
private int insertRecords(LeaseOutDetails record) {
int res = 0;
// 首先更新领料任务详情表的领料数及状态lease_apply_details
res = leaseOutDetailsMapper.updateLeaseApplyDetailsOutNum(record);
LeaseApplyDetails leaseApplyDetails = leaseOutDetailsMapper.getLeaseApplyDetails(record);
if (leaseApplyDetails.getPreNum().equals(leaseApplyDetails.getAlNum()) || leaseApplyDetails.getAuditNum().equals(leaseApplyDetails.getAlNum())){
if (leaseApplyDetails.getPreNum().equals(leaseApplyDetails.getAlNum()) || leaseApplyDetails.getAuditNum().equals(leaseApplyDetails.getAlNum())) {
leaseOutDetailsMapper.updateLeaseApplyDetails(record);
}
if (res > 0) {
// 插入领料出库明细表lease_out_details
res = leaseOutDetailsMapper.insertSelective(record);
if (res > 0) {
// 插入领料出库明细表lease_out_details
res = leaseOutDetailsMapper.insertSelective(record);
if (res > 0) {
if (record.getManageType() == 2) {
// 成套机具减少 (ma_type 设备规格表)的库存数量
res = leaseOutDetailsMapper.updateMaTypeStockNum(record);
// 成套机具减少 (ma_type 设备规格表)配件的库存数量
List<TmTask> typeIds = leaseOutDetailsMapper.getMaTypeDetails(record);
typeIds.removeIf(item -> item == null);
for (TmTask typeId : typeIds) {
MachinePart machinePart = leaseOutDetailsMapper.getMachineParts(typeId);
machinePart.setPartNum((typeId.getPartNum() * record.getOutNum()));
typeId.setNum(machinePart.getNum() - machinePart.getPartNum());
res = leaseOutDetailsMapper.updateMaTypeStockNumCt(typeId);
}
} else {
// 普通机具减少 (ma_type 设备规格表)的库存数量
res = leaseOutDetailsMapper.updateMaTypeStockNum(record);
if (record.getManageType() == 2) {
// 成套机具减少 (ma_type 设备规格表)的库存数量
res = leaseOutDetailsMapper.updateMaTypeStockNum(record);
// 成套机具减少 (ma_type 设备规格表)配件的库存数量
List<TmTask> typeIds = leaseOutDetailsMapper.getMaTypeDetails(record);
typeIds.removeIf(item -> item == null);
for (TmTask typeId : typeIds) {
MachinePart machinePart = leaseOutDetailsMapper.getMachineParts(typeId);
machinePart.setPartNum((typeId.getPartNum() * record.getOutNum()));
typeId.setNum(machinePart.getNum() - machinePart.getPartNum());
res = leaseOutDetailsMapper.updateMaTypeStockNumCt(typeId);
}
// 更新 (ma_machine 设备表)的状态
leaseOutDetailsMapper.updateMaMachineStatus(record);
} else {
// 普通机具减少 (ma_type 设备规格表)的库存数量
res = leaseOutDetailsMapper.updateMaTypeStockNum(record);
}
// 更新 (ma_machine 设备表)的状态
leaseOutDetailsMapper.updateMaMachineStatus(record);
}
}
return res;
}
@ -239,7 +244,7 @@ public class LeaseOutDetailsServiceImpl implements LeaseOutDetailsService {
List<LeaseApplyDetails> leaseApplyDetailsList = leaseApplyDetailsMapper.getByParentId(record.getParentId());
int i = 0;
for (LeaseApplyDetails bean : leaseApplyDetailsList) {
if (Objects.equals(bean.getPreNum(), bean.getAlNum())) {
if (Objects.equals(bean.getPreNum(), bean.getAlNum()) || "2".equals(bean.getStatus())) {
i++;
}
}

View File

@ -7,10 +7,12 @@ import com.bonus.sgzb.app.domain.MachinePart;
import com.bonus.sgzb.app.domain.TmTask;
import com.bonus.sgzb.app.mapper.LeaseApplyDetailsMapper;
import com.bonus.sgzb.app.mapper.LeaseApplyInfoMapper;
import com.bonus.sgzb.app.mapper.LeaseOutDetailsMapper;
import com.bonus.sgzb.app.mapper.TmTaskMapper;
import com.bonus.sgzb.app.service.*;
import com.bonus.sgzb.base.api.domain.BmFlowRecord;
import com.bonus.sgzb.base.api.domain.BmFlowRelation;
import com.bonus.sgzb.base.api.domain.LeaseOutDetails;
import com.bonus.sgzb.common.core.constant.Constants;
import com.bonus.sgzb.common.core.domain.R;
import com.bonus.sgzb.common.core.enums.TaskStatusEnum;
@ -69,6 +71,8 @@ public class TmTaskServiceImpl implements TmTaskService {
@Resource
private LeaseUserBookService leaseUserBookService;
@Resource
private LeaseOutDetailsMapper leaseOutDetailsMapper;
@Resource
private BmFlowRecordService bmFlowRecordService;
@ -230,6 +234,7 @@ public class TmTaskServiceImpl implements TmTaskService {
/**
* 领料申请审批逐级发送短信通知相关人员审核方法抽取
*
* @param record
*/
private void sendMessageToLeader(TmTask record) {
@ -248,10 +253,10 @@ public class TmTaskServiceImpl implements TmTaskService {
urgentProcessingUser.setTaskStatus(TaskStatusEnum.STAY_INTERNAL_AUDIT.getInfo());
break;
}
List<SysUser> userList =remoteUserService.processingUser(urgentProcessingUser).getData();
if (userList.size()>0) {
List<SysUser> userList = remoteUserService.processingUser(urgentProcessingUser).getData();
if (userList.size() > 0) {
log.info("查询到待发送短信人员信息为:{}", userList);
String message ="尊敬的用户,宁夏智慧仓储管理系统提醒您:您有一个领料单号为:"+ record.getCode() +"的领料申请待处理,请及时查看";
String message = "尊敬的用户,宁夏智慧仓储管理系统提醒您:您有一个领料单号为:" + record.getCode() + "的领料申请待处理,请及时查看";
if (CollectionUtils.isNotEmpty(userList)) {
for (SysUser sysUser : userList) {
if (StringUtils.isNotBlank(sysUser.getPhonenumber())) {
@ -332,13 +337,13 @@ public class TmTaskServiceImpl implements TmTaskService {
@Override
public List<TmTask> getLeaseAuditListByOne(TmTask record) {
Set<String> roles = SecurityUtils.getLoginUser().getRoles();
if (roles.contains("jjbz") || roles.contains("fbz")) {
// if (roles.contains("jjbz") || roles.contains("fbz")) {
List<TmTask> leaseDetailByParentId = tmTaskMapper.getLeaseDetailByjjbz(record);
return leaseDetailByParentId;
} else {
List<TmTask> leaseDetailByParentId = tmTaskMapper.getLeaseDetailByParentId(record);
return leaseDetailByParentId;
}
// } else {
// List<TmTask> leaseDetailByParentId = tmTaskMapper.getLeaseDetailByParentId(record);
// return leaseDetailByParentId;
// }
/* for (TmTask tmTask : leaseDetailByParentId) {
if ("2".equals(tmTask.getManageType())) {
List<TmTask> manageTypeByTypeId = tmTaskMapper.getManageTypeByTypeId(tmTask);
@ -642,11 +647,15 @@ public class TmTaskServiceImpl implements TmTaskService {
@Override
public List<TmTask> getLeaseOutListByUser(TmTask task) {
Set<String> roles = SecurityUtils.getLoginUser().getRoles();
if (roles.contains("admin")){
Long deptId = SecurityUtils.getLoginUser().getSysUser().getDeptId();
if (roles.contains("admin")) {
return tmTaskMapper.getLeaseOutListByAdmin(task);
} else if (roles.contains("jjbz") || roles.contains("fbz")) {
//机具班长和副班长可以出库机具设备
} else if (roles.contains("jjbz") || roles.contains("fbz") || deptId == 101) {
//机具班长副班长机具分公司可以查看机具设备
return tmTaskMapper.getLeaseOutListByjjbz(task);
} else if (deptId == 102) {
//调试分公司可以查看调试设备
return tmTaskMapper.getLeaseOutListByts(task);
} else {
return tmTaskMapper.getLeaseOutListByUser(task);
}
@ -660,6 +669,7 @@ public class TmTaskServiceImpl implements TmTaskService {
@Override
public int updateLeaseAuditListByOne(TmTask task) {
int i = tmTaskMapper.updateLeaseAuditListByOne(task);
int res = 0;
if (i > 0) {
int num = 0;
List<LeaseApplyDetails> leaseApplyDetails = tmTaskMapper.getleaseDetailsStatus(task);
@ -675,9 +685,17 @@ public class TmTaskServiceImpl implements TmTaskService {
tmTaskMapper.updateTmTaskAuditStatus(task);
}
}
return 0;
LeaseOutDetails leaseOutDetails = new LeaseOutDetails();
leaseOutDetails.setParentId(Integer.valueOf(task.getId()));
leaseOutDetails.setTypeId(Integer.valueOf(task.getTypeId()));
leaseOutDetails.setCreateBy(task.getCreateBy());
leaseOutDetails.setCreateTime(new Date());
leaseOutDetails.setUpdateTime(new Date());
leaseOutDetails.setOutNum(0.0);
res = leaseOutDetailsMapper.insertSelective(leaseOutDetails);
return res;
} else {
return 1;
return res;
}
}

View File

@ -2,10 +2,12 @@ package com.bonus.sgzb.base.domain;
import com.bonus.sgzb.common.core.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;
@Data
@ -59,6 +61,14 @@ public class BmProjectInfo {
/**数据所属组织*/
@ApiModelProperty(value = "数据所属组织")
private String companyId;
/**开工日期*/
@ApiModelProperty(value = "开工日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private String startDate;
/**竣工日期*/
@ApiModelProperty(value = "竣工日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private String completionDate;
/**数据所属组织*/
@Excel(name = "所属上级")

View File

@ -2,10 +2,12 @@ package com.bonus.sgzb.base.domain;
import com.bonus.sgzb.common.core.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;
@Data
@ -112,6 +114,20 @@ public class BmProjectLot {
*/
@ApiModelProperty(value = "数据所属组织")
private String companyId;
/**
/**
* 开工日期
*/
@ApiModelProperty(value = "开工日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private String startDate;
/**
/**
* 竣工日期
*/
@ApiModelProperty(value = "竣工日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private String completionDate;
/**
* 数据所属组织
*/

View File

@ -169,23 +169,28 @@ public class LargeScreenServiceImpl implements ILargeScreenService {
@Override
public PageResultVo getAcceptanceDetailStorage(ParamsDto dto) {
extracted(dto);
// 分页
PageHelper.startPage(dto.getPageNum() == 0 ? 1 : dto.getPageNum(), dto.getPageSize());
PageResultVo pageResult = new PageResultVo();
List<StorageDetailVo> result;
result = mapper.getAcceptanceDetailStorage(dto);
result = result.stream()
List<StorageDetailVo> result = mapper.getAcceptanceDetailStorage(dto);
List<StorageDetailVo> filteredResult = result.stream()
.filter(storageDetail -> storageDetail.getPurchaseNum() != 0 ||
storageDetail.getCheckNum() != 0 ||
storageDetail.getInputNum() != 0)
.collect(Collectors.toList());
// 分页信息
PageInfo<StorageDetailVo> pageInfo = new PageInfo<>(result);
pageResult.setTotal(pageInfo.getTotal());
pageResult.setTotalPageCount(pageInfo.getPages());
pageResult.setRows(result);
pageResult.setPageNum (dto.getPageNum());
pageResult.setPageSize(dto.getPageSize());
// 手动计算分页信息
int pageNum = dto.getPageNum() == 0 ? 1 : dto.getPageNum();
int pageSize = dto.getPageSize();
int total = filteredResult.size();
int totalPages = (int) Math.ceil((double) total / pageSize);
// 手动分页获取当前页的数据
int startIndex = (pageNum - 1) * pageSize;
int endIndex = Math.min(startIndex + pageSize, total);
List<StorageDetailVo> currentPageData = filteredResult.subList(startIndex, endIndex);
// 构建返回结果对象
PageResultVo pageResult = new PageResultVo();
pageResult.setTotal(total);
pageResult.setTotalPageCount(totalPages);
pageResult.setRows(currentPageData);
pageResult.setPageNum(pageNum);
pageResult.setPageSize(pageSize);
return pageResult;
}

View File

@ -450,4 +450,29 @@
parennt_id = #{record.parentId}
AND type_id = #{record.typeId}
</select>
<select id="getOutboundOrder" resultType="com.bonus.sgzb.base.api.domain.LeaseOutDetails">
SELECT
mt.type_name typeModelName,
mt2.type_name typeName,
lod.out_num outNum,
lod.create_time,
lad.pre_num,
su.nick_name leasePerson,
su2.nick_name outPerson,
mm.ma_code,
lod.car_code
FROM
lease_out_details lod
LEFT JOIN lease_apply_details lad ON lod.parent_id = lad.parennt_id
AND lod.type_id = lad.type_id
LEFT JOIN lease_apply_info lai ON lai.id = lod.parent_id
LEFT JOIN ma_machine mm on mm.ma_id = lod.ma_id
LEFT JOIN sys_user su on su.user_id = lai.create_by
LEFT JOIN sys_user su2 on su2.user_id = lod.create_by
LEFT JOIN ma_type mt ON mt.type_id = lod.type_id
LEFT JOIN ma_type mt2 ON mt.parent_id = mt2.type_id
WHERE
lod.parent_id = #{parentId}
</select>
</mapper>

View File

@ -671,15 +671,15 @@
bui.unit_id as unitId,bui.unit_name as unitName,
su.nick_name as applyFor,d.`name` as taskName,
su2.user_name as companyAuditBy,
su2.nick_name as companyAuditBy,
lai.company_audit_time as companyAuditTime,
lai.company_audit_remark as companyAuditRemark,
su3.user_name as deptAuditBy,
su3.nick_name as deptAuditBy,
lai.dept_audit_time as deptAuditTime,
lai.dept_audit_remark as deptAuditRemark,
su4.user_name as directAuditBy,
su4.nick_name as directAuditBy,
lai.direct_audit_time as directAuditTime,
lai.direct_audit_remark as directAuditRemark,
lai.lease_type as leaseType,
@ -1039,7 +1039,7 @@
bui.unit_name AS unitName,
lai.lease_person AS leasePerson,
lai.phone AS leasePhone,
tt.create_by AS applyFor,
su.nick_name AS applyFor,
d.`name` AS taskName,
lai.lease_type AS leaseType,
d.id AS examineStatusId,
@ -1051,6 +1051,7 @@
from
lease_apply_info lai
LEFT JOIN tm_task tt on lai.task_id = tt.task_id
LEFT JOIN sys_user su on lai.create_by = su.user_id
LEFT JOIN sys_dic d ON d.id = tt.task_status
LEFT JOIN tm_task_agreement tta ON lai.task_id = tta.task_id
LEFT JOIN bm_agreement_info bai ON bai.agreement_id = tta.agreement_id
@ -1087,7 +1088,8 @@
mt.type_name as typeModelName,
mt.manage_type as manageType,
mt.num as num,
GROUP_CONCAT(su.user_name) as userName,
GROUP_CONCAT(su.user_id) as userId,
GROUP_CONCAT(su.nick_name) as userName,
lad.status as status,
lad.type_id as typeId
FROM
@ -1196,7 +1198,7 @@
bui.unit_name AS unitName,
lai.lease_person AS leasePerson,
lai.phone AS leasePhone,
tt.create_by AS applyFor,
su.nick_name AS applyFor,
d.`name` AS taskName,
lai.lease_type AS leaseType,
d.id AS examineStatusId,
@ -1208,6 +1210,7 @@
from
lease_apply_info lai
LEFT JOIN tm_task tt on lai.task_id = tt.task_id
LEFT JOIN sys_user su on lai.create_by = su.user_id
LEFT JOIN sys_dic d ON d.id = tt.task_status
LEFT JOIN tm_task_agreement tta ON lai.task_id = tta.task_id
LEFT JOIN bm_agreement_info bai ON bai.agreement_id = tta.agreement_id
@ -1270,7 +1273,8 @@
mt.type_name as typeModelName,
mt.manage_type as manageType,
mt.num as num,
GROUP_CONCAT(su.user_name) as userName,
GROUP_CONCAT(su.nick_name) as userName,
GROUP_CONCAT(su.user_id) as userId,
lad.status as status,
lad.type_id as typeId
FROM
@ -1300,7 +1304,7 @@
bui.unit_name AS unitName,
lai.lease_person AS leasePerson,
lai.phone AS leasePhone,
tt.create_by AS applyFor,
su.nick_name AS applyFor,
d.`name` AS taskName,
lai.lease_type AS leaseType,
d.id AS examineStatusId,
@ -1312,6 +1316,7 @@
from
lease_apply_info lai
LEFT JOIN tm_task tt on lai.task_id = tt.task_id
LEFT JOIN sys_user su on lai.create_by = su.user_id
LEFT JOIN sys_dic d ON d.id = tt.task_status
LEFT JOIN tm_task_agreement tta ON lai.task_id = tta.task_id
LEFT JOIN bm_agreement_info bai ON bai.agreement_id = tta.agreement_id
@ -1334,4 +1339,50 @@
GROUP BY lai.id
ORDER BY tt.task_status,tt.create_time desc
</select>
<select id="getLeaseOutListByts" resultType="com.bonus.sgzb.app.domain.TmTask">
SELECT
tt.*,
lai.id AS id,
bpl.lot_id AS proId,
bpl.lot_name AS proName,
bui.unit_id AS unitId,
bui.unit_name AS unitName,
lai.lease_person AS leasePerson,
lai.phone AS leasePhone,
su.nick_name AS applyFor,
d.`name` AS taskName,
lai.lease_type AS leaseType,
d.id AS examineStatusId,
bai.agreement_code AS agreementCode,
tt.create_time AS createTimes,
IFNULL(sum(lad.pre_num),0) as preCountNum,
IFNULL(sum(lad.al_num),0) as alNum,
tt.update_time AS updateTimes
from
lease_apply_info lai
LEFT JOIN tm_task tt on lai.task_id = tt.task_id
LEFT JOIN sys_user su on lai.create_by = su.user_id
LEFT JOIN sys_dic d ON d.id = tt.task_status
LEFT JOIN tm_task_agreement tta ON lai.task_id = tta.task_id
LEFT JOIN bm_agreement_info bai ON bai.agreement_id = tta.agreement_id
LEFT JOIN bm_project_lot bpl ON bpl.lot_id = bai.project_id
LEFT JOIN bm_unit_info bui ON bui.unit_id = bai.unit_id
LEFT JOIN lease_apply_details lad on lai.id = lad.parennt_id
WHERE tt.task_status in(33,34,35)
<if test="code != null and code != ''">
and tt.code like concat('%', #{code}, '%')
</if>
<if test="unitId != null">
and bui.unit_id = #{unitId}
</if>
<if test="proId != null">
and bpl.lot_id = #{proId}
</if>
<if test="taskStatus != null">
and tt.task_status = #{taskStatus}
</if>
and lai.company_id = 102
GROUP BY lai.id
ORDER BY tt.task_status,tt.create_time desc
</select>
</mapper>

View File

@ -32,7 +32,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="getProjectInfoAll" parameterType="com.bonus.sgzb.base.domain.BmProjectInfo" resultMap="BmProjectInfoResult">
<!--<include refid="bmProjectInfo"/>-->
select a.pro_id, a.pro_name, a.status, a.type_id, a.link_man, a.telphone, a.dept_id, a.del_flag, a.create_by,
a.create_time,a.update_by, a.update_time, a.remark, a.company_id, b.dept_name, c.name
a.create_time,a.update_by, a.update_time, a.remark, a.company_id, b.dept_name, c.name,a.start_date,a.completion_date
from bm_project_info a
left join sys_dept b on a.dept_id = b.dept_id
left join sys_dic c on a.type_id = c.id
@ -165,6 +165,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateBy != null and updateBy != ''">update_by,</if>
<if test="remark != null and remark != ''">remark,</if>
<if test="companyId != null and companyId != ''">company_id,</if>
<if test="startDate != null and startDate != ''">start_date,</if>
<if test="completionDate != null and completionDate != ''">completion_date,</if>
create_time
)values(
<if test="proName != null and proName != ''">#{proName},</if>
@ -178,6 +180,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateBy != null and updateBy != ''">#{updateBy},</if>
<if test="remark != null and remark != ''">#{remark},</if>
<if test="companyId != null and companyId != ''">#{companyId},</if>
<if test="startDate != null and startDate != ''">#{startDate},</if>
<if test="completionDate != null and completionDate != ''">#{completionDate},</if>
sysdate()
)
</insert>
@ -194,8 +198,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if>
<if test="createBy != null and createBy != ''">create_by =#{createBy},</if>
<if test="updateBy != null and updateBy != ''">update_by =#{updateBy},</if>
<if test="remark != null and remark != ''">remark = #{remark},</if>
<if test="companyId != null and companyId != ''">company_id = #{companyId},</if>
<if test="startDate != null and startDate != ''">start_date = #{startDate},</if>
<if test="completionDate != null and completionDate != ''">completion_date = #{completionDate},</if>
update_time = sysdate()
</set>
where pro_id = #{proId}

View File

@ -37,7 +37,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="getProjectLotAll" parameterType="com.bonus.sgzb.base.domain.BmProjectLot" resultMap="BmProjectLotResult">
<!--<include refid="bmProjectInfo"/>-->
select a.lot_id, a.pro_id, a.lot_name, a.status, a.type_id, a.link_man, a.telphone, a.own_pro, a.dept_id, a.is_share,
a.lon, a.lat, a.del_flag, a.create_by, a.create_time,a.remark,a.company_id ,b.dept_name, c.name
a.lon, a.lat, a.del_flag, a.create_by, a.create_time,a.remark,a.company_id ,b.dept_name, c.name,a.start_date,a.completion_date
from bm_project_lot a
left join sys_dept b on a.dept_id = b.dept_id
left join sys_dic c on a.type_id = c.id
@ -115,6 +115,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateTime != null and updateTime != ''">update_time,</if>
<if test="remark != null and remark != ''">remark,</if>
<if test="companyId != null and companyId != ''">company_id,</if>
<if test="startDate != null and startDate != ''">start_date,</if>
<if test="completionDate != null and completionDate != ''">completion_date,</if>
create_time
)values(
<if test="lotName != null and lotName != ''">#{lotName},</if>
@ -130,6 +132,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateBy != null and updateBy != ''">#{updateBy},</if>
<if test="remark != null and remark != ''">#{remark},</if>
<if test="companyId != null and companyId != ''">#{companyId},</if>
<if test="startDate != null and startDate != ''">#{startDate},</if>
<if test="completionDate != null and completionDate != ''">#{completionDate},</if>
sysdate()
)
</insert>
@ -149,6 +153,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateBy != null and updateBy != ''">update_by =#{updateBy},</if>
<if test="remark != null and remark != ''">remark = #{remark},</if>
<if test="companyId != null and companyId != ''">company_id = #{companyId},</if>
<if test="startDate != null and startDate != ''">start_date = #{startDate},</if>
<if test="completionDate != null and completionDate != ''">completion_date = #{completionDate},</if>
update_time = sysdate()
</set>
where lot_id = #{lotId}

View File

@ -196,7 +196,7 @@
bui.unit_name AS unitName,
pisi.`CODE` AS kindName,
mt2.type_name AS typeName,
su.user_name AS modelName,
su.nick_name AS modelName,
pisi.CREATE_DATE AS createDate,
pisi.REMARKS AS remark,
ROW_NUMBER() OVER (PARTITION BY pisi.`CODE` ORDER BY pisi.CREATE_DATE DESC) AS row_num

View File

@ -61,6 +61,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND lod.create_time BETWEEN CONCAT(#{startTime}, ' 00:00:00') AND CONCAT(#{endTime}, ' 23:59:59')
</if>
order by lod.create_time desc
</select>
<select id="getSltAgreementInfo" resultType="com.bonus.sgzb.base.api.domain.SltAgreementInfo">
SELECT

View File

@ -269,7 +269,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectPutInListList" resultMap="PurchasePartInfoResult">
SELECT
pci.task_id, pci.purchase_time, pci.arrival_time, pci.purchaser, us.user_name as create_by, pci.create_time,
pci.task_id, pci.purchase_time, pci.arrival_time, pci.purchaser, us.nick_name as create_by, pci.create_time,
pci.update_by,
pci.update_time, pci.remark, pci.company_id ,tk.code,tk.task_status taskStatus,GROUP_CONCAT(distinct mpt1.pa_name) purchasingTypeName,
CASE

View File

@ -178,7 +178,7 @@ WHERE ma_machine.ma_code =
select pci.id,pci.task_id, pci.purchase_time, pci.arrival_time, pci.purchaser, pci.create_by, pci.create_time,
pci.update_by,
pci.update_time, pci.remark, pci.company_id ,dict.name purchasingStatus,tk.code,tk.task_status
taskStatus,su.user_name purchaserName,
taskStatus,su.nick_name purchaserName,
tk.create_by,
CASE tk.task_status
WHEN 28 THEN
@ -190,9 +190,9 @@ WHERE ma_machine.ma_code =
END as inputTime,
CASE tk.task_status
WHEN 28 THEN
us.user_name
us.nick_name
WHEN 123 THEN
us.user_name
us.nick_name
ELSE
''
END as inputUser

View File

@ -11,7 +11,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
iad.input_num as inputNum,mm.ma_code as maCode,
tt.create_time as returnTime,
iad.create_time as submitStorageTime,
us.user_name as submitToStoragePersonnel,iad.remark as remark
us.nick_name as submitToStoragePersonnel,iad.remark as remark
FROM input_apply_details iad
LEFT JOIN tm_task tt ON iad.task_id = tt.task_id
LEFT JOIN tm_task_agreement tta on tta.task_id = tt.task_id

View File

@ -2,22 +2,22 @@ import request from '@/utils/request'
// 往来单位-下拉
export function getUnitList(query) {
return request({
url: '/material/agreementInfo/getUnitList',
method: 'get',
params: query
})
}
return request({
url: '/material/agreementInfo/getUnitList',
method: 'get',
params: query
})
}
// 工程名称-下拉
export function getProjectList(query) {
return request({
url: '/material/agreementInfo/getProjectList',
method: 'get',
params: query
})
}
return request({
url: '/material/agreementInfo/getProjectList',
method: 'get',
params: query
})
}
// 协议管理-列表
export function getAgreementList(query) {
@ -29,12 +29,12 @@ export function getAgreementList(query) {
}
// 协议管理-详情
export function getAgreementInfoId(query) {
return request({
url: '/material/agreementInfo/getAgreementInfoId',
method: 'get',
params: query
})
}
return request({
url: '/material/agreementInfo/getAgreementInfoId',
method: 'get',
params: query
})
}
//协议管理--新增
export function addAgreement(data) {
@ -47,20 +47,20 @@ export function addAgreement(data) {
// 协议管理--修改
export function updateAgreement(data) {
return request({
url: '/material/agreementInfo/update',
method: 'post',
data: data
})
}
return request({
url: '/material/agreementInfo/update',
method: 'post',
data: data
})
}
// //协议管理--删除
export function removeAgreement(data) {
return request({
url: '/material/agreementInfo/remove',
method: 'post',
data: data
})
}
return request({
url: '/material/agreementInfo/remove',
method: 'post',
data: data
})
}
// 机具领料-申请列表
export function getLeaseManageListAll(query) {
@ -88,7 +88,7 @@ export function getLeaseAuditListAll(query) {
}
// 获取 来往单位 列表
export function getUnitData(params = {}){
export function getUnitData(params = {}) {
return request({
url: '/system/select/getUnitCbx',
method: 'post',
@ -97,7 +97,7 @@ export function getUnitData(params = {}){
}
// 获取 工程 列表
export function getProData(params = {}){
export function getProData(params = {}) {
return request({
url: '/system/select/getSectionEngineeringCbx',
method: 'post',
@ -106,7 +106,7 @@ export function getProData(params = {}){
}
// 获取 设备树
export function getDeviceTypeTree(params = {}){
export function getDeviceTypeTree(params = {}) {
return request({
url: '/system/select/getDeviceTypeTree',
method: 'post',
@ -115,76 +115,76 @@ export function getDeviceTypeTree(params = {}){
}
// 根据单位id和工程id 获取 协议id
export function getAgreementInfoById(params = {}){
export function getAgreementInfoById(params = {}) {
return request({
url:'/system/select/getAgreementInfoById',
method:'post',
data:params
url: '/system/select/getAgreementInfoById',
method: 'post',
data: params
})
}
//提交 领料申请
export function submitLeaseApply(params = {}){
export function submitLeaseApply(params = {}) {
return request({
url:'/base/tm_task/submitLeaseApply',
url: '/base/tm_task/submitLeaseApply',
method: 'post',
data:params
data: params
})
}
//编辑 领料申请
export function editLeaseApply(params = {}){
export function editLeaseApply(params = {}) {
return request({
url:'/base/tm_task/edit',
url: '/base/tm_task/edit',
method: 'post',
data:params
data: params
})
}
// 参数 领料任务
export function deleteTask( taskId ){
export function deleteTask(taskId) {
return request({
url:`/base/tm_task/${taskId}`,
method:'delete'
url: `/base/tm_task/${taskId}`,
method: 'delete'
})
}
// 根据 领料任务id 获取详情数据
export function getLeaseListAll( params = {} ){
export function getLeaseListAll(params = {}) {
return request({
url: '/base/tm_task/getLeaseListAll',
method:'get',
params:params
method: 'get',
params: params
})
}
// 根据 领料任务id 获取详情数据
export function getLeaseListAllCq( params = {} ){
export function getLeaseListAllCq(params = {}) {
return request({
url: '/base/tm_task/getLeaseListAllCq',
method:'get',
params:params
method: 'get',
params: params
})
}
// 领料审核 同意
export function auditLeaseByCompany(params = {} ){
export function auditLeaseByCompany(params = {}) {
return request({
url:'/base/tm_task/auditLeaseByCompany',
method:'post',
data:params
url: '/base/tm_task/auditLeaseByCompany',
method: 'post',
data: params
})
}
// 领料审核 同意
export function auditLeaseByCompanyCq(params = {} ){
export function auditLeaseByCompanyCq(params = {}) {
return request({
url:'/base/tm_task/auditLeaseByCompanyCq',
method:'post',
data:params
url: '/base/tm_task/auditLeaseByCompanyCq',
method: 'post',
data: params
})
}
// 领料审核 拒绝
export function rejectLeaseByCompany(params = {}){
export function rejectLeaseByCompany(params = {}) {
return request({
url: '/base/tm_task/rejectLeaseByCompany',
method: 'post',
@ -192,7 +192,7 @@ export function rejectLeaseByCompany(params = {}){
})
}
// 领料审核 拒绝
export function rejectLeaseByCompanyCq(params = {}){
export function rejectLeaseByCompanyCq(params = {}) {
return request({
url: '/base/tm_task/rejectLeaseByCompanyCq',
method: 'post',
@ -201,7 +201,7 @@ export function rejectLeaseByCompanyCq(params = {}){
}
// 获取 物品类型
export function getUseTypeTreee(params = {}){
export function getUseTypeTreee(params = {}) {
return request({
url: '/material/backApply/getUseTypeTree',
method: 'post',
@ -256,7 +256,7 @@ export function getDetailsByTypeId(query) {
}
// 领料出库 编码出库 保存
export function submitOut(params){
export function submitOut(params) {
return request({
url: '/base/leaseOutDetails/submitOutRfid',
method: 'post',
@ -265,7 +265,7 @@ export function submitOut(params){
}
// 领料出库 数量出库 保存
export function submitNumOut(params){
export function submitNumOut(params) {
return request({
url: '/base/leaseOutDetails/submitOutRfid',
method: 'post',
@ -273,17 +273,17 @@ export function submitNumOut(params){
})
}
// 领料确认
export function updateLeaseTaskStatusConfirmByCq(params){
return request({
url: '/base/tm_task/updateLeaseTaskStatusConfirmByCq',
method: 'post',
data: params
})
}
// 领料确认
export function updateLeaseTaskStatusConfirmByCq(params) {
return request({
url: '/base/tm_task/updateLeaseTaskStatusConfirmByCq',
method: 'post',
data: params
})
}
// 当前在用量
export function getUseNumByTypeId(params){
export function getUseNumByTypeId(params) {
return request({
url: '/material/backApply/getUseNumByTypeId',
method: 'get',
@ -292,7 +292,7 @@ export function getUseNumByTypeId(params){
}
// 批量审核
export function auditAll(params){
export function auditAll(params) {
return request({
url: '/material/backApply/auditAll',
method: 'post',
@ -301,7 +301,7 @@ export function auditAll(params){
}
// 手动出库结单
export function outboundCompleted(params){
export function outboundCompleted(params) {
return request({
url: '/base/tm_task/outboundCompleted',
method: 'post',
@ -309,6 +309,15 @@ export function outboundCompleted(params){
})
}
// 查看测试单
export const outboundOrderApi = (params) => {
return request({
url: '/base/leaseOutDetails/getOutboundOrder',
method: 'get',
params
})
}

View File

@ -7,6 +7,7 @@
:visible.sync="dialogConfig.outerVisible"
v-if="dialogConfig.outerVisible"
:before-close="handleCloseOuter"
:center="dialogConfig.center || false"
append-to-body
>
<!-- 外层弹框内容 -->

View File

@ -86,31 +86,43 @@
label="工程项目名称"
align="center"
prop="proName"
:show-overflow-tooltip="true"
show-overflow-tooltip
/>
<el-table-column
label="工程类型"
align="center"
prop="typeName"
:show-overflow-tooltip="true"
show-overflow-tooltip
/>
<el-table-column
label="所属上级"
align="center"
prop="deptName"
:show-overflow-tooltip="true"
show-overflow-tooltip
/>
<el-table-column
label="联系人"
align="center"
prop="linkMan"
:show-overflow-tooltip="true"
show-overflow-tooltip
/>
<el-table-column
label="联系电话"
align="center"
prop="telphone"
:show-overflow-tooltip="true"
show-overflow-tooltip
/>
<el-table-column
label="开工日期"
align="center"
prop="startDate"
show-overflow-tooltip
/>
<el-table-column
label="竣工日期"
align="center"
prop="completionDate"
show-overflow-tooltip
/>
<el-table-column
label="状态"
@ -191,7 +203,7 @@
:key="item.id"
:label="item.name"
:value="item.id"
v-if="item.status != '1'"
v-show="item.status != '1'"
></el-option>
</el-select>
</el-form-item>
@ -221,6 +233,35 @@
onkeyup="this.value = this.value.replace(/[^\d]/g,'');"
/>
</el-form-item>
<el-form-item label="开工日期" prop="startDate">
<el-date-picker
v-model="form.startDate"
type="date"
placeholder="请选择开工日期"
value-format="yyyy-MM-dd"
style="width: 100%"
@change="startDateChange"
/>
</el-form-item>
<el-form-item label="竣工日期" prop="completionDate">
<el-date-picker
v-model="form.completionDate"
type="date"
placeholder="请选择竣工日期"
value-format="yyyy-MM-dd"
style="width: 100%"
:picker-options="{
//
disabledDate: (time) => {
const currentDate = new Date(
form.startDate || new Date(),
)
currentDate.setDate(currentDate.getDate())
return time.getTime() < currentDate.getTime()
},
}"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button
@ -292,7 +333,10 @@ export default {
proName: undefined,
},
//
form: {},
form: {
startDate: '',
completionDate: '',
},
chosenData: {},
//
rules: {
@ -317,6 +361,20 @@ export default {
trigger: 'blur',
},
],
startDate: [
{
required: true,
message: '请选择开工日期',
trigger: 'change',
},
],
completionDate: [
{
required: true,
message: '请选择竣工日期',
trigger: 'change',
},
],
},
}
},
@ -481,6 +539,17 @@ export default {
this.$store.dispatch('dict/cleanDict')
})
},
//
startDateChange(val) {
if (this.form.completionDate) {
const startDate = val.split('-').join('') - 0
const endDate = this.form.completionDate.split('-').join('') - 0
if (startDate >= endDate) {
this.form.completionDate = ''
}
}
},
},
}
</script>

View File

@ -84,37 +84,49 @@
label="标段工程名称"
align="center"
prop="lotName"
:show-overflow-tooltip="true"
show-overflow-tooltip
/>
<el-table-column
label="工程类型"
align="center"
prop="typeName"
:show-overflow-tooltip="true"
show-overflow-tooltip
/>
<el-table-column
label="所属工程项目"
align="center"
prop="ownPro"
:show-overflow-tooltip="true"
show-overflow-tooltip
/>
<el-table-column
label="所属上级"
align="center"
prop="deptName"
:show-overflow-tooltip="true"
show-overflow-tooltip
/>
<el-table-column
label="联系人"
align="center"
prop="linkMan"
:show-overflow-tooltip="true"
show-overflow-tooltip
/>
<el-table-column
label="联系电话"
align="center"
prop="telphone"
:show-overflow-tooltip="true"
show-overflow-tooltip
/>
<el-table-column
label="开工日期"
align="center"
prop="startDate"
show-overflow-tooltip
/>
<el-table-column
label="竣工日期"
align="center"
prop="completionDate"
show-overflow-tooltip
/>
<el-table-column
label="状态"
@ -240,6 +252,35 @@
onkeyup="this.value = this.value.replace(/[^\d]/g,'');"
/>
</el-form-item>
<el-form-item label="开工日期" prop="startDate">
<el-date-picker
v-model="form.startDate"
type="date"
placeholder="请选择日期"
value-format="yyyy-MM-dd"
style="width: 100%"
@change="startDateChange"
/>
</el-form-item>
<el-form-item label="竣工日期" prop="completionDate">
<el-date-picker
v-model="form.completionDate"
type="date"
placeholder="请选择日期"
value-format="yyyy-MM-dd"
style="width: 100%"
:picker-options="{
//
disabledDate: (time) => {
const currentDate = new Date(
form.startDate || new Date(),
)
currentDate.setDate(currentDate.getDate())
return time.getTime() < currentDate.getTime()
},
}"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button
@ -335,9 +376,20 @@ export default {
trigger: 'blur',
},
],
// ownPro: [
// { required: true, message: "", trigger: "blur" }
// ]
startDate: [
{
required: true,
message: '请选择开工日期',
trigger: 'change',
},
],
completionDate: [
{
required: true,
message: '请选择竣工日期',
trigger: 'change',
},
],
},
}
},
@ -507,6 +559,18 @@ export default {
this.$store.dispatch('dict/cleanDict')
})
},
//
startDateChange(val) {
if (this.form.completionDate) {
const startDate = val.split('-').join('') - 0
const endDate = this.form.completionDate.split('-').join('') - 0
if (startDate >= endDate) {
this.form.completionDate = ''
}
}
},
},
}
</script>

View File

@ -93,21 +93,21 @@
prop="status"
width="200"
>
<template slot-scope="scope">
<template slot-scope="{ row }">
<el-switch
v-model="scope.row.status"
active-value="0"
inactive-value="1"
@change="changeStatus(scope.row)"
></el-switch>
@change="changeStatus(row)"
/>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="200">
<template slot-scope="scope">
<template slot-scope="{ row }">
<el-button
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
@click="handleUpdate(row)"
v-hasPermi="['base:unit:edit']"
>修改</el-button
>
@ -115,7 +115,7 @@
type="text"
icon="el-icon-delete"
style="color: #f56c6c"
@click="handleDelete(scope.row)"
@click="handleDelete(row)"
v-hasPermi="['base:unit:del']"
>删除</el-button
>

View File

@ -174,19 +174,26 @@
@selection-change="handleSelectionChange"
>
<!-- <el-table-column type="selection" width="55" align="center" /> -->
<el-table-column label="序号" type="index" width="80" />
<el-table-column
label="序号"
type="index"
width="80"
align="center"
/>
<el-table-column
label="类型名称"
prop="typeCn"
:show-overflow-tooltip="true"
align="center"
/>
<el-table-column
label="规格型号"
prop="guigeCn"
:show-overflow-tooltip="true"
align="center"
/>
<el-table-column label="计量单位" prop="unitCn" />
<el-table-column label="库存数量" prop="num" />
<el-table-column label="计量单位" prop="unitCn" align="center" />
<el-table-column label="库存数量" prop="num" align="center" />
<el-table-column label="预领数量" align="center">
<template slot-scope="scope">
<el-input
@ -213,13 +220,7 @@
/>
</template>
</el-table-column>
<el-table-column
label="操作"
align="center"
fixed="right"
class-name="small-padding fixed-width"
v-if="isAdd || isEdit"
>
<el-table-column label="操作" align="center" v-if="isAdd || isEdit">
<template slot-scope="scope">
<!-- <el-button-->
<!-- size="mini"-->
@ -905,8 +906,6 @@ export default {
pageNum: 1,
pageSize: 9999,
})
console.log(res, '成套设备---')
this.completeSetList = res.rows
},

View File

@ -162,62 +162,62 @@
label="领料单号"
align="center"
prop="code"
:show-overflow-tooltip="true"
show-overflow-tooltip
width="150"
/>
<el-table-column
label="领料单位"
align="center"
prop="unitName"
:show-overflow-tooltip="true"
show-overflow-tooltip
/>
<el-table-column
label="领料工程"
align="center"
prop="proName"
:show-overflow-tooltip="true"
show-overflow-tooltip
/>
<el-table-column
label="协议号"
align="center"
prop="agreementCode"
:show-overflow-tooltip="true"
show-overflow-tooltip
/>
<el-table-column
label="现场领料人"
align="center"
prop="leasePerson"
:show-overflow-tooltip="true"
show-overflow-tooltip
/>
<el-table-column
label="联系电话"
align="center"
prop="leasePhone"
:show-overflow-tooltip="true"
show-overflow-tooltip
/>
<el-table-column
label="领料申请人"
align="center"
prop="nickName"
:show-overflow-tooltip="true"
show-overflow-tooltip
/>
<el-table-column
label="申请时间"
align="center"
prop="createTimes"
:show-overflow-tooltip="true"
show-overflow-tooltip
/>
<el-table-column
label="任务状态"
align="center"
prop="taskName"
:show-overflow-tooltip="true"
show-overflow-tooltip
width="120px"
/>
<el-table-column
label="审批意见 "
align="center"
:show-overflow-tooltip="true"
show-overflow-tooltip
>
<template slot-scope="scope">
<span v-if="scope.row.taskStatus < 31"></span>
@ -267,15 +267,9 @@
<!-- <span v-else>{{ scope.row.leaseApplyInfoList[0].directAuditRemark }}</span> -->
</template>
</el-table-column>
<el-table-column
label="备注"
align="center"
:show-overflow-tooltip="true"
>
<el-table-column label="备注" align="center" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{
scope.row.leaseApplyInfoList[0].remark || ''
}}</span>
{{ scope.row.leaseApplyInfoList[0].remark || '' }}
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="180">

View File

@ -115,51 +115,51 @@
label="领料单号"
align="center"
prop="code"
:show-overflow-tooltip="true"
show-overflow-tooltip
/>
<el-table-column
label="领料申请单位"
align="center"
prop="unitName"
:show-overflow-tooltip="true"
show-overflow-tooltip
/>
<el-table-column
label="领料申请工程"
align="center"
prop="proName"
:show-overflow-tooltip="true"
show-overflow-tooltip
/>
<el-table-column
label="申请数量"
align="center"
prop="preCountNum"
:show-overflow-tooltip="true"
></el-table-column>
show-overflow-tooltip
/>
<el-table-column
label="申请时间"
align="center"
prop="createTimes"
:show-overflow-tooltip="true"
></el-table-column>
show-overflow-tooltip
/>
<el-table-column
label="已出库数量"
align="center"
prop="alNum"
:show-overflow-tooltip="true"
></el-table-column>
show-overflow-tooltip
/>
<el-table-column
label="出库状态"
align="center"
prop="taskName"
:show-overflow-tooltip="true"
></el-table-column>
show-overflow-tooltip
/>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-table-column label="操作" align="center" width="200">
<template slot-scope="{ row }">
<el-button
type="text"
icon="el-icon-zoom-in"
@click="handleView(scope.row)"
@click="handleView(row)"
v-hasPermi="['picking:outbound:view']"
>查看</el-button
>
@ -167,12 +167,20 @@
icon="el-icon-shopping-cart-2"
style="color: #e6a23c"
type="text"
v-if="scope.row.taskStatus != 35"
@click="handleOut(scope.row)"
v-if="row.taskStatus != 35"
@click="handleOut(row)"
v-hasPermi="['picking:outbound:out']"
>
出库
</el-button>
<el-button
type="text"
style="color: #67c23a"
icon="el-icon-tickets"
@click="handleOutboundOrder(row)"
>
出库单
</el-button>
</template>
</el-table-column>
</el-table>
@ -277,7 +285,7 @@
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
width="240px"
v-if="!isView"
>
<template slot-scope="scope">
@ -285,8 +293,11 @@
size="mini"
@click="codeOut(scope.row)"
v-if="
scope.row.status != 2 &&
scope.row.manageType == 0 &&
scope.row.status != 2
(isOutboundFun(scope.row.userId) ||
isMonitor ||
userId == 1)
"
>
编码出库
@ -295,9 +306,11 @@
size="mini"
type="primary"
v-if="
(scope.row.manageType == 1 ||
scope.row.manageType == 2) &&
scope.row.status != 2
scope.row.status != 2 &&
scope.row.manageType == 1 &&
(isOutboundFun(scope.row.userId) ||
isMonitor ||
userId == 1)
"
@click="numOut(scope.row)"
>
@ -306,7 +319,12 @@
<el-button
size="mini"
type="primary"
v-if="scope.row.status != 2"
v-if="
scope.row.status != 2 &&
(isOutboundFun(scope.row.userId) ||
isMonitor ||
userId == 1)
"
@click="manualOperation(scope.row)"
>
完成出库
@ -519,6 +537,106 @@
</el-table-column>
</el-table>
</el-dialog>
<!-- 出库单 -->
<DialogModel
:dialogConfig="dialogConfig"
@closeDialogOuter="closeDialogOuter"
>
<template slot="outerContent">
<VueEasyPrint tableShow ref="remarksPrintRef">
<!-- <el-row :gutter="20">
<el-col span="6">申请人</el-col>
<el-col span="6">领料工程</el-col>
<el-col span="6">领料单位</el-col>
<el-col span="6">领料单号</el-col>
</el-row> -->
<h2 class="outbound-title">出库单</h2>
<ul class="apply-info">
<li>
领料申请人<span>{{ applyFor }}</span>
</li>
<li>
领料单位<span>{{ unitName }}</span>
</li>
<li>
领料工程<span>{{ proName }}</span>
</li>
<li>
领料单号<span>{{ code }}</span>
</li>
</ul>
<el-table style="margin: 15px 0" :data="outboundOrderList">
<el-table-column
align="center"
label="序号"
type="index"
/>
<el-table-column
align="center"
label="设备类型"
prop="typeName"
/>
<el-table-column
align="center"
label="规格型号"
prop="typeModelName"
/>
<el-table-column
align="center"
label="设备编码"
prop="maCode"
/>
<el-table-column
align="center"
label="申请数量"
prop="preNum"
/>
<el-table-column
align="center"
label="出库数量"
prop="outNum"
/>
<el-table-column
align="center"
label="领料人"
prop="leasePerson"
/>
<el-table-column
align="center"
label="出库人"
prop="outPerson"
/>
<el-table-column align="center" label="出库日期">
<template slot-scope="{ row }">
{{ parseTime(row.createTime) }}
</template>
</el-table-column>
<el-table-column
align="center"
label="车牌号"
prop="carCode"
/>
</el-table>
</VueEasyPrint>
<pagination
:total="outboundOrderTotal"
:page.sync="outboundParams.pageNum"
:limit.sync="outboundParams.pageSize"
@pagination="queryOutBoundList"
/>
<el-row class="print-btn">
<el-button
size="mini"
type="primary"
@click="handlePrinting()"
> </el-button
>
</el-row>
</template>
</DialogModel>
</div>
</template>
@ -532,14 +650,18 @@ import {
submitOut,
submitNumOut,
outboundCompleted,
outboundOrderApi,
} from '@/api/claimAndRefund/receive.js'
import { getTypeList } from '@/api/store/warehousing'
import { equipmentTypeTree } from '@/api/store/tools'
import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import store from '@/store'
import DialogModel from '@/components/DialogModel'
import VueEasyPrint from 'vue-easy-print'
export default {
name: 'receiveOut',
components: { Treeselect },
components: { Treeselect, DialogModel, VueEasyPrint },
data() {
return {
//
@ -613,8 +735,29 @@ export default {
outTotal: 0, //-
outCodeList: [], //
outNumList: [], //
userId: sessionStorage.getItem('userId'), // userId
isMonitor: false, //
outboundOrderList: [], //
applyFor: '', //
code: '', //
proName: '', //
unitName: '', //
outboundOrderTotal: 0, //
//
outboundParams: {
parentId: '',
pageNum: 1,
pageSize: 10,
},
//
dialogConfig: {
outerWidth: '80%',
outerVisible: false,
center: true,
},
}
},
created() {
this.getTypeList()
this.getUnitList()
@ -622,6 +765,11 @@ export default {
this.equipmentType()
this.getList()
const roles = store.getters && store.getters.roles
if (roles.includes('jjbz')) {
this.isMonitor = true
}
},
methods: {
//
@ -753,6 +901,7 @@ export default {
this.$set(obj, 'outNum', row.outNum) //
this.$set(obj, 'inputNum', 1) //
this.$set(obj, 'num', row.num) //
this.$set(obj, 'createBy', sessionStorage.getItem('userId')) // Id
this.outNumList = [obj]
},
//
@ -767,17 +916,18 @@ export default {
outboundCompleted({
id: this.dialogQuery.id,
typeId: row.typeId,
}).then((response) => {
this.$modal.msgSuccess('完成出库成功')
createBy: sessionStorage.getItem('userId'),
}).then((res) => {
this.$modal.msgSuccess('已完成')
this.handleDialogQuery()
this.handleQuery()
})
})
.catch(() => {
this.$message({
type: 'info',
message: '已取消完成出库',
})
// this.$message({
// type: 'info',
// message: '',
// })
})
},
handleOutQuery() {
@ -821,11 +971,12 @@ export default {
parentId: this.outObj.parentId,
outNum: 1,
taskId: this.outObj.taskId,
createBy: sessionStorage.getItem('userId'),
}
return obj
})
// console.log(params)
submitOut(params).then((response) => {
submitOut(params).then((res) => {
this.$modal.msgSuccess('出库成功')
this.openCode = false
this.handleDialogQuery()
@ -839,7 +990,7 @@ export default {
saveNumOut() {
this.outNumList[0].carCode = this.numOutForm.carCode
let param = this.outNumList
submitNumOut(param).then((response) => {
submitNumOut(param).then((res) => {
this.$modal.msgSuccess('出库成功')
this.openNum = false
this.handleDialogQuery()
@ -869,6 +1020,46 @@ export default {
`领料出库_${new Date().getTime()}.xlsx`,
)
},
//
isOutboundFun(ids) {
if (!ids) {
return false
} else {
if (ids.split(',').includes(this.userId)) {
return true
} else {
return false
}
}
},
//
handleOutboundOrder(row) {
const { applyFor, code, proName, unitName } = row
this.applyFor = applyFor
this.code = code
this.proName = proName
this.unitName = unitName
this.outboundParams.parentId = row.id
this.queryOutBoundList()
this.dialogConfig.outerVisible = true
},
//
async queryOutBoundList() {
const { data: res } = await outboundOrderApi(this.outboundParams)
this.outboundOrderList = res.rows
this.outboundOrderTotal = res.total
},
//
closeDialogOuter() {
this.outboundParams.pageNum = 1
this.outboundParams.pageSize = 10
this.dialogConfig.outerVisible = false
},
//
handlePrinting() {
this.$refs.remarksPrintRef.print()
},
},
}
</script>
@ -881,4 +1072,34 @@ export default {
color: #02a7f0;
cursor: pointer;
}
//
.outbound-title {
font-size: 20px;
font-weight: bold;
letter-spacing: 3px;
text-align: center;
}
.apply-info {
margin-top: 30px;
display: flex;
justify-content: space-between;
list-style: none;
padding: 0;
font-size: 16px;
font-weight: bold;
span {
font-weight: 400;
letter-spacing: 2px;
}
}
.print-btn {
margin-top: 30px;
.el-button {
padding: 10px 20px;
}
}
</style>

View File

@ -191,7 +191,6 @@ import {
auditingPreScrapApi,
} from '@/api/scrap/forecastWaste.js'
import { config, getSelList, getTypeListSel, dialogConfig } from './config'
import { registerLayout } from 'echarts'
export default {
name: 'Inventory',
components: {

View File

@ -7,7 +7,7 @@
@getTableSelectionChange="getTableSelectionChange"
>
<template slot="export">
<el-row :gutter="10" class="mb8">
<el-row class="mb8">
<el-button type="warning" plain size="mini"
>完成退料</el-button
>

View File

@ -151,10 +151,7 @@
</template>
<template v-if="temp">
<el-row type="flex" justify="space-between" class="back-text">
<span>驳回退料</span>
<el-button type="text" @click="handleBack">返回</el-button>
</el-row>
<PageHeader :pageContent="pageContent" @goBack="goBack" />
<AuditingReturn :sendParams="sendParamsAuditing" />
</template>
</div>
@ -163,6 +160,7 @@
<script>
import TableModel from '@/components/TableModel'
import DialogModel from '@/components/DialogModel'
import PageHeader from '@/components/pageHeader'
import SelDepart from '../../component/selDepart.vue'
import ScrapSource from '../../component/scrapSource.vue'
import AuditingReturn from '../auditingReturn/index.vue' // 退
@ -179,6 +177,7 @@ export default {
components: {
TableModel,
DialogModel,
PageHeader,
SelDepart,
ScrapSource,
AuditingReturn,
@ -205,6 +204,7 @@ export default {
},
auditingList: [],
sendParamsAuditing: {},
pageContent: '驳回退料',
}
},
created() {
@ -282,10 +282,6 @@ export default {
this.submitScrapParams.taskIdList.push(e.taskId)
})
},
handleBack() {
this.temp = !this.temp
this.dialogVisible = false
},
/* 外层弹框关闭 */
closeDialogOuter() {
this.dialogConfig.outerVisible = false
@ -306,6 +302,11 @@ export default {
)
console.log('数据导出', data)
},
//
goBack() {
this.temp = !this.temp
},
},
}
</script>

View File

@ -239,6 +239,7 @@ export default {
proId: null, //id
types: 1, // 1 2
maType: '1', // 1 2
},
unitList: [], //
proList: [], //
@ -320,11 +321,11 @@ export default {
/** 导出按钮操作 */
handleExport() {
this.download(
'material/backRecord/export',
'material/storageStatus/export',
{
...this.queryParams,
},
`综合查询_退料记录_${new Date().getTime()}.xlsx`,
`综合查询_机具仓储状态_${new Date().getTime()}.xlsx`,
)
},

View File

@ -239,6 +239,7 @@ export default {
proId: null, //id
types: 1, // 1 2
maType: '2', // 1 2
},
unitList: [], //
proList: [], //
@ -320,11 +321,11 @@ export default {
/** 导出按钮操作 */
handleExport() {
this.download(
'material/backRecord/export',
'material/storageStatus/export',
{
...this.queryParams,
},
`综合查询_退料记录_${new Date().getTime()}.xlsx`,
`综合查询_调试仓储状态_${new Date().getTime()}.xlsx`,
)
},

View File

@ -43,11 +43,11 @@ module.exports = {
// target: `https://test-cc.zhgkxt.com`,//线上环境-南网
// target: `https://z.csgmall.com.cn`,
// target: `http://192.168.2.122:28080`, //超
target: `http://192.168.2.122:28080`, //超
// target: `http://10.40.92.81:28080`, //韩/
// target: `http://10.40.92.74:8080`,//旭/
// target: `http://10.40.92.140:28080`, //帅
target: `http://192.168.2.209:28080`, //福
// target: `http://192.168.2.209:28080`, //福
//******** 注意事项 ********* */
//1.全局替换qrUrl二维码扫码提供的网址-发布服务器的地址target;