Browse Source

物料入库审批完成

lwx_dev
erdanergou 3 years ago
parent
commit
4997c258ca
  1. 37
      src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java
  2. 94
      src/main/java/com/dreamchaser/depository_manage/controller/PageController.java
  3. 22
      src/main/java/com/dreamchaser/depository_manage/entity/SimpleApplicationInRecord.java
  4. 17
      src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.java
  5. 44
      src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml
  6. 17
      src/main/java/com/dreamchaser/depository_manage/pojo/SimpleApplicationOutOrInRecordP.java
  7. 8
      src/main/java/com/dreamchaser/depository_manage/pojo/SimpleTaskP.java
  8. 36
      src/main/java/com/dreamchaser/depository_manage/service/DepositoryRecordService.java
  9. 3
      src/main/java/com/dreamchaser/depository_manage/service/StockTakingService.java
  10. 251
      src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java
  11. 188
      src/main/resources/templates/pages/application/form-step-look_group_review.html
  12. 182
      src/main/resources/templates/pages/application/form-step-look_in_review.html
  13. 131
      src/main/resources/templates/pages/application/my-task.html
  14. 24
      src/main/resources/templates/pages/other/welcome.html
  15. 21
      src/main/resources/templates/pages/other/welcome_mobile.html
  16. 44
      target/classes/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml
  17. 131
      target/classes/templates/pages/application/my-task.html

37
src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java

@ -54,14 +54,14 @@ public class DepositoryRecordController {
public RestResponse findDepositoryInAndOutRecordPByCondition(@RequestParam Map<String, Object> map, HttpServletRequest request) {
UserByPort userToken = (UserByPort) request.getAttribute("userToken");
map.put("applicantId", userToken.getId());
List<ApplicationInRecordP> applicationInRecordPlist = depositoryRecordService.findApplicationInRecordPByCondition(map, request);
List<ApplicationInRecordP> applicationInRecordPlist = depositoryRecordService.findApplicationInRecordPByCondition(map, userToken);
Integer InCount = depositoryRecordService.findApplicationInRecordPCountByCondition(map);
for (ApplicationInRecordP applicationInRecordP : applicationInRecordPlist) {
if (applicationInRecordP.getPrice() != null) {
applicationInRecordP.setPrice(applicationInRecordP.getPrice() / 100);
}
}
List<ApplicationOutRecordP> applicationOutRecordPlist = depositoryRecordService.findApplicationOutRecordPByCondition(map, request);
List<ApplicationOutRecordP> applicationOutRecordPlist = depositoryRecordService.findApplicationOutRecordPByCondition(map, userToken);
Integer OutCount = depositoryRecordService.findApplicationOutRecordPCountByCondition(map);
for (ApplicationOutRecordP recordP : applicationOutRecordPlist) {
if (recordP.getPrice() != null) {
@ -76,15 +76,27 @@ public class DepositoryRecordController {
return new RestResponse(result, result.size(), 200);
}
@GetMapping("/myTask")
public RestResponse myTask(@RequestParam Map<String, Object> map, HttpServletRequest request) {
@GetMapping("/myTaskOut")
public RestResponse myTaskOut(@RequestParam Map<String, Object> map, HttpServletRequest request) {
UserByPort userToken = (UserByPort) request.getAttribute("userToken");
map.put("userId", userToken.getId());
List<SimpleApplicationOutRecordP> myTask = depositoryRecordService.findMyTask(map, request);
List<SimpleApplicationOutOrInRecordP> myTask = depositoryRecordService.findMyTaskOut(map, userToken);
return new RestResponse(myTask
, depositoryRecordService.findMyTaskOutCount(map), 200);
}
@GetMapping("/myTaskIn")
public RestResponse myTaskIn(@RequestParam Map<String, Object> map, HttpServletRequest request) {
UserByPort userToken = (UserByPort) request.getAttribute("userToken");
map.put("userId", userToken.getId());
List<SimpleApplicationOutOrInRecordP> myTask = depositoryRecordService.findMyTaskIn(map, userToken);
return new RestResponse(myTask
, depositoryRecordService.findMyTaskInCount(map), 200);
}
// 查找当前用户所有的扫码出库订单
@GetMapping("/myTashForScanQrCode")
public RestResponse findAllMinRecordByUser(@RequestParam Map<String, Object> map, HttpServletRequest request) {
@ -789,7 +801,7 @@ public class DepositoryRecordController {
return CrudUtil.postHandle(1, 1);
}
// 审核
// 出库审核
@PutMapping("/review")
public RestResponse review(@RequestBody Map<String, Object> map, HttpServletRequest request) {
UserByPort userToken = (UserByPort) request.getAttribute("userToken");
@ -803,6 +815,19 @@ public class DepositoryRecordController {
}
}
@PutMapping("/reviewIn")
public RestResponse reviewIn(@RequestBody Map<String, Object> map, HttpServletRequest request) {
UserByPort userToken = (UserByPort) request.getAttribute("userToken");
String header = request.getHeader("user-agent");
String crypt = Md5.crypt(header);
Integer review = depositoryRecordService.reviewIn(map, userToken.getId(), userToken, crypt);
if (review != -1) {
return CrudUtil.postHandle(review, 1);
} else {
return new RestResponse("", 666, new StatusInfo("出库失败", "当前存储位库存不足,请重新选择"));
}
}
// 库存转移
@PutMapping("/transfer")
public RestResponse transfer(@RequestBody Map<String, Object> map, HttpServletRequest request) {

94
src/main/java/com/dreamchaser/depository_manage/controller/PageController.java

@ -21,7 +21,6 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
@ -299,7 +298,7 @@ public class PageController {
}
Map<String, Object> map = new HashMap<String, Object>(2) {
{
put("beigin", 0);
put("begin", 0);
put("size", 6);
}
};
@ -317,10 +316,9 @@ public class PageController {
instance.add(Calendar.DATE, -1);
days.add(formatter.format(instance.getTime()));
Map<String, Object> parm = new HashMap<>();
map.put("statr", days.get(1));
map.put("end", days.get(0));
// Integer warehouseRecord = depositoryRecordService.findWarehouseRecord(parm);
Integer warehouseRecord = 0;
map.put("startDate", days.get(1));
map.put("endDate", days.get(0));
int warehouseRecord = 0;
Map<String, Object> param = new HashMap<>();
Integer applicationOut = depositoryRecordService.findApplicationOutRecordPCountByCondition(param);
Integer applicationIn = depositoryRecordService.findApplicationInRecordPCountByCondition(param);
@ -338,16 +336,22 @@ public class PageController {
List<SimpleTaskP> list = new ArrayList<>();
// 查询出库任务
List<SimpleApplicationOutRecordP> myTask = depositoryRecordService.findMyTask(paramForTask, request);
List<SimpleApplicationOutOrInRecordP> myTaskOut = depositoryRecordService.findMyTaskOut(paramForTask, userToken);
for (int i = 0; i < myTask.size(); i++) {
SimpleTaskP simpleTaskP = new SimpleTaskP(myTask.get(i));
for (SimpleApplicationOutOrInRecordP simpleApplicationOutOrInRecordP : myTaskOut) {
SimpleTaskP simpleTaskP = new SimpleTaskP(simpleApplicationOutOrInRecordP);
list.add(simpleTaskP);
}
// 查询盘点任务
List<SimpleStockTakingP> task = stockTakingService.findMyTask(paramForTask, request);
for (int i = 0; i < task.size(); i++) {
SimpleTaskP simpleTaskP = new SimpleTaskP(task.get(i));
for (SimpleStockTakingP simpleStockTakingP : task) {
SimpleTaskP simpleTaskP = new SimpleTaskP(simpleStockTakingP);
list.add(simpleTaskP);
}
// 查询入库任务
List<SimpleApplicationOutOrInRecordP> myTaskIn = depositoryRecordService.findMyTaskIn(paramForTask, userToken);
for (SimpleApplicationOutOrInRecordP simpleApplicationOutOrInRecordP : myTaskIn) {
SimpleTaskP simpleTaskP = new SimpleTaskP(simpleApplicationOutOrInRecordP);
list.add(simpleTaskP);
}
@ -1503,6 +1507,74 @@ public class PageController {
return mv;
}
@GetMapping("/application_in_review")
public ModelAndView application_in_review(Integer id, HttpServletRequest request) {
UserByPort userToken = (UserByPort) request.getAttribute("userToken");
ModelAndView mv = new ModelAndView();
mv.setViewName("pages/application/form-step-look_in_review");
if (id != null) {
ApplicationInRecordP applicationInRecordPById = depositoryRecordService.findApplicationInRecordPById(id);
String airapproverTime = applicationInRecordPById.getAirapproverTime();
if(airapproverTime != null && !"".equals(airapproverTime)){
airapproverTime = DateUtil.TimeStampToDateTime(Long.valueOf(airapproverTime));
applicationInRecordPById.setAirapproverTime(airapproverTime);
}
// 获取入库库位id
Integer placeId = applicationInRecordPById.getPlaceId();
String placeCode = "默认库位";
if (Integer.compare(placeId, 0) != 0) {
Place placeById = placeService.findPlaceById(placeId);
placeCode = placeById.getCode();
}
Integer flagForGroup = applicationInRecordPById.getFlagForGroup();
if(Integer.compare(applicationInRecordPById.getAirapproverPass(),4) != 0){
String[] airapproverId = applicationInRecordPById.getAirapproverId().split(",");
StringBuilder airapproverName = new StringBuilder();
for (String approverId:airapproverId
) {
if(!"".equals(approverId)){
UserByPort userByPort = LinkInterfaceUtil.FindUserById(ObjectFormatUtil.toInteger(approverId), userToken);
airapproverName.append(userByPort.getName()).append(",");
}
}
applicationInRecordPById.setAirapproverName(airapproverName.toString());
}
mv.addObject("record", applicationInRecordPById);
mv.addObject("placeCode", placeCode);
if (Integer.compare(flagForGroup, 2) != 0) {
// 如果不是组合
UserByPort userByPort = LinkInterfaceUtil.FindUserById(applicationInRecordPById.getApplicantId(), userToken);
applicationInRecordPById.setApplicantName(userByPort.getName());
applicationInRecordPById.setApplicantTime(DateUtil.TimeStampToDateTime(Long.valueOf(applicationInRecordPById.getApplicantTime())));
if (applicationInRecordPById.getPrice() != null) {
applicationInRecordPById.setPrice(applicationInRecordPById.getPrice() / 100);
} else {
applicationInRecordPById.setPrice(0.0);
}
} else {
// 如果是组合
// 获取组合数据
Group group = groupService.findGroupOnlyById(applicationInRecordPById.getMid());
// 获取组合详情数据
List<GroupInfo> groupInfoList = groupService.findGroupInfoByGid(applicationInRecordPById.getMid());
mv.addObject("group", group);
mv.addObject("groupInfoList", groupInfoList);
mv.setViewName("pages/application/form-step-look_group_review");
}
} else {
throw new MyException("缺少必要参数!");
}
return mv;
}
@GetMapping("/form_step_lookByminRecordOut")
public ModelAndView form_step_lookByminRecordOut(Integer id, HttpServletRequest request) {
UserByPort userToken = (UserByPort) request.getAttribute("userToken");

22
src/main/java/com/dreamchaser/depository_manage/entity/SimpleApplicationInRecord.java

@ -0,0 +1,22 @@
package com.dreamchaser.depository_manage.entity;
import lombok.Data;
/**
* 简单仓库入库信息,为了前端展示需要尽量减少字段的传输以提高效率
* @author Dreamchaser
*/
@Data
public class SimpleApplicationInRecord {
/** 记录id */
private Integer id;
/** 申请人id */
private Integer applicantId;
/** 申请备注 */
private String applyRemark;
/** 申请时间 */
private Long applicantTime;
}

17
src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.java

@ -122,12 +122,20 @@ public interface DepositoryRecordMapper {
List<SimpleDepositoryRecord> findMyTask(Map<String,Object> map);
/**
* 根据条件查询自己的任务根据isDone来决定查询已完成或者未完成的任务同时支持分页查询需要begin和size参数
* 根据条件查询自己的出库审批任务根据isDone来决定查询已完成或者未完成的任务同时支持分页查询需要begin和size参数
* @param map 查询参数
* @return 我的任务
*/
List<SimpleApplicationOutRecord> findMyTaskOut(Map<String,Object> map);
/**
* 根据条件查询自己的入库审批任务根据isDone来决定查询已完成或者未完成的任务同时支持分页查询需要begin和size参数
* @param map 查询参数
* @return 我的任务
*/
List<SimpleApplicationInRecord> findMyTaskIn(Map<String,Object> map);
/**
* 根据id删除仓库记录
* @return 受影响的行数
@ -160,6 +168,13 @@ public interface DepositoryRecordMapper {
*/
Integer findMyTaskOutCount(Map<String,Object> map);
/**
* 返回该我的任务数完成或者未完成
* @return 条数
*/
Integer findMyTaskInCount(Map<String,Object> map);
/**
* 根据查询条件返回该表的总条数
* @param map 条件参数

44
src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml

@ -21,6 +21,14 @@
<result column="applyRemark" property="applyRemark" jdbcType="VARCHAR"/>
</resultMap>
<!-- 字段映射 -->
<resultMap id="simpleApplicationInRecordMap"
type="com.dreamchaser.depository_manage.entity.SimpleApplicationInRecord">
<id property="id" column="airid" jdbcType="INTEGER"/>
<result column="applicantId" property="applicant_id" jdbcType="INTEGER"/>
<result column="applicantTime" property="applicant_time" jdbcType="INTEGER"/>
<result column="applyRemark" property="applyRemark" jdbcType="VARCHAR"/>
</resultMap>
<!-- 字段映射 -->
<resultMap id="depositoryRecordMap" type="com.dreamchaser.depository_manage.entity.DepositoryRecord">
<id column="id" property="id" jdbcType="INTEGER"/>
<result column="application_id" property="applicationId" jdbcType="INTEGER"/>
@ -130,6 +138,10 @@
<sql id="simpleApplicationOut">
aorid,applicantId, applyRemark, applicantTime,aorcode
</sql>
<sql id="simpleApplicationIn">
airid,applicant_id,applicant_time,applyRemark
</sql>
<!-- 表查询字段 -->
<sql id="allColumns">
dr.id, dr.application_id, dr.mname, dr.depository_id, dr.type, dr.quantity, dr.price, dr.state,
@ -309,6 +321,38 @@
</select>
<select id="findMyTaskIn" resultMap="simpleApplicationInRecordMap" parameterType="map">
SELECT
<include refid="simpleApplicationIn"/>
FROM applicationinrecordinfo WHERE 1=1 and airapproverPass != 4
<if test='isDone == "0"'>
and (FIND_IN_SET(#{userId},airapproverId) != 0 and airapproverPass = 3)
</if>
<if test='isDone == "1"'>
and ( FIND_IN_SET(#{userId},airapproverId) != 0 and airapproverPass != 3)
</if>
ORDER BY applicant_time desc
<if test="begin != null and size != null">
LIMIT #{begin},#{size}
</if>
</select>
<select id="findMyTaskInCount" resultType="int" parameterType="map">
SELECT
count(*)
FROM applicationinrecordinfo WHERE 1=1 and airapproverPass != 4
<if test='isDone == "0"'>
and (FIND_IN_SET(#{userId},airapproverId) != 0 and airapproverPass = 3)
</if>
<if test='isDone == "1"'>
and ( FIND_IN_SET(#{userId},airapproverId) != 0 and airapproverPass != 3)
</if>
</select>
<!--根据条件查询入库记录-->
<select id="findApplicationInRecordByDepository" parameterType="String" resultMap="applicationInRecord">
select

17
src/main/java/com/dreamchaser/depository_manage/pojo/SimpleApplicationOutRecordP.java → src/main/java/com/dreamchaser/depository_manage/pojo/SimpleApplicationOutOrInRecordP.java

@ -1,12 +1,13 @@
package com.dreamchaser.depository_manage.pojo;
import com.dreamchaser.depository_manage.entity.SimpleApplicationInRecord;
import com.dreamchaser.depository_manage.entity.SimpleApplicationOutRecord;
import com.dreamchaser.depository_manage.entity.SimpleDepositoryRecord;
import com.dreamchaser.depository_manage.utils.DateUtil;
import lombok.Data;
@Data
public class SimpleApplicationOutRecordP {
public class SimpleApplicationOutOrInRecordP {
/** 记录id */
private Integer id;
@ -19,11 +20,23 @@ public class SimpleApplicationOutRecordP {
/** 申请时间 */
private String applicantTime;
/** 类型(1出库2入库) */
private int type;
public SimpleApplicationOutRecordP(SimpleApplicationOutRecord d) {
public SimpleApplicationOutOrInRecordP(SimpleApplicationOutRecord d) {
this.id=d.getId();
this.applyRemark = d.getApplyRemark();
this.applicantTime = DateUtil.TimeStampToDateTime(d.getApplicantTime());
this.type = 1;
}
public SimpleApplicationOutOrInRecordP(SimpleApplicationInRecord d) {
this.id=d.getId();
this.applyRemark = d.getApplyRemark();
this.applicantTime = DateUtil.TimeStampToDateTime(d.getApplicantTime());
this.type = 2;
}
}

8
src/main/java/com/dreamchaser/depository_manage/pojo/SimpleTaskP.java

@ -1,11 +1,7 @@
package com.dreamchaser.depository_manage.pojo;
import com.dreamchaser.depository_manage.entity.ApplicationOutRecordMin;
import com.dreamchaser.depository_manage.entity.SimpleApplicationOutRecord;
import com.dreamchaser.depository_manage.entity.StockTaking;
import com.dreamchaser.depository_manage.utils.DateUtil;
import com.dreamchaser.depository_manage.utils.LinkInterfaceUtil;
import com.dreamchaser.depository_manage.utils.ObjectFormatUtil;
import lombok.Data;
@ -49,11 +45,11 @@ public class SimpleTaskP {
* 用于创建任务输出
* @param d 出库任务
*/
public SimpleTaskP(SimpleApplicationOutRecordP d) {
public SimpleTaskP(SimpleApplicationOutOrInRecordP d) {
this.id= Long.valueOf(d.getId().toString());
this.applicantTime = d.getApplicantTime();
this.applicantName = d.getApplicantName();
this.type = "出库请求";
this.type = d.getType() == 1? "出库请求" : "入库请求";
}

36
src/main/java/com/dreamchaser/depository_manage/service/DepositoryRecordService.java

@ -37,12 +37,19 @@ public interface DepositoryRecordService {
/**
* 审核申请
* 出库审核申请
* @param map 仓库调度信息
* @return 受影响的行数
*/
Integer review(Map<String,Object> map,Integer userId,UserByPort userToken,String userAgent);
/**
* 入库审核申请
* @param map 仓库调度信息
* @return 受影响的行数
*/
Integer reviewIn(Map<String,Object> map,Integer userId,UserByPort userToken,String userAgent);
/**
* 用于企业微信的审核申请处理
@ -64,7 +71,7 @@ public interface DepositoryRecordService {
* @param id id
* @return 该id的数据记录
*/
DepositoryRecordP findDepositoryRecordById(Integer id, HttpServletRequest request);
DepositoryRecordP findDepositoryRecordById(Integer id, UserByPort userToken);
/**
* 查找所有仓库调度记录
@ -77,7 +84,7 @@ public interface DepositoryRecordService {
* @param map 查询参数
* @return 符合条件的仓库调度记录集合
*/
List<DepositoryRecordP> findDepositoryRecordPByCondition(Map<String,Object> map,HttpServletRequest request);
List<DepositoryRecordP> findDepositoryRecordPByCondition(Map<String,Object> map,UserByPort userToken);
/**
@ -85,7 +92,7 @@ public interface DepositoryRecordService {
* @param map
* @return
*/
List<ApplicationInRecordP> findApplicationInRecordPByCondition(Map<String,Object> map,HttpServletRequest request);
List<ApplicationInRecordP> findApplicationInRecordPByCondition(Map<String,Object> map,UserByPort userToken);
/**
@ -127,7 +134,7 @@ public interface DepositoryRecordService {
* @param map
* @return
*/
List<ApplicationOutRecordP> findApplicationOutRecordPByCondition(Map<String,Object> map,HttpServletRequest request);
List<ApplicationOutRecordP> findApplicationOutRecordPByCondition(Map<String,Object> map,UserByPort userToken);
/**
@ -170,7 +177,15 @@ public interface DepositoryRecordService {
* @param map 查询参数
* @return 我的任务
*/
List<SimpleApplicationOutRecordP> findMyTask(Map<String, Object> map,HttpServletRequest request);
List<SimpleApplicationOutOrInRecordP> findMyTaskOut(Map<String, Object> map, UserByPort userToken);
/**
* 根据条件查询自己的任务根据isDone来决定查询已完成或者未完成的任务同时支持分页查询需要begin和size参数
* @param map 查询参数
* @return 我的任务
*/
List<SimpleApplicationOutOrInRecordP> findMyTaskIn(Map<String, Object> map, UserByPort userToken);
/**
* 根据id删除仓库记录
@ -196,12 +211,19 @@ public interface DepositoryRecordService {
* 返回该我的任务数完成或者未完成
* @return 条数
*/
Integer findMyTaskCount(Map<String,Object> map);/**
Integer findMyTaskCount(Map<String,Object> map);
/**
* 返回该我的任务数完成或者未完成
* @return 条数
*/
Integer findMyTaskOutCount(Map<String,Object> map);
/**
* 返回该我的任务数完成或者未完成
* @return 条数
*/
Integer findMyTaskInCount(Map<String,Object> map);
/**
* 根据查询条件返回该表的总条数
* @param map 条件参数

3
src/main/java/com/dreamchaser/depository_manage/service/StockTakingService.java

@ -1,12 +1,9 @@
package com.dreamchaser.depository_manage.service;
import com.dreamchaser.depository_manage.entity.StockTaking;
import com.dreamchaser.depository_manage.entity.StockTakingChild;
import com.dreamchaser.depository_manage.entity.UserByPort;
import com.dreamchaser.depository_manage.pojo.SimpleApplicationOutRecordP;
import com.dreamchaser.depository_manage.pojo.SimpleStockTakingP;
import com.dreamchaser.depository_manage.pojo.StockTakingChildP;
import com.dreamchaser.depository_manage.pojo.StockTakingP;
import com.dreamchaser.depository_manage.pojo.callBackXml.approvalCallBackXml.ApprovalInfo_Details;
import com.dreamchaser.depository_manage.pojo.callBackXml.callBackXml_button_templatecard.TemplateCard;

251
src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java

@ -135,7 +135,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
producedDate = DateUtil.DateTimeByDayToTimeStamp(s.toString());
}
map.put("producedDate", producedDate);
if(producedDate == 0L){
if (producedDate == 0L) {
map.remove("producedDate");
}
}
@ -641,13 +641,14 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
/**
* 将物料入库到库位
*
* @param isApprovalPass 判断是否为审批完成时调用,true为审批通过后调用false为正常调用
* @param map
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Integer applicationInPlace(Map<String, Object> map,boolean isApprovalPass) {
public Integer applicationInPlace(Map<String, Object> map, boolean isApprovalPass) {
Integer placeId = ObjectFormatUtil.toInteger(map.get("placeId"));
if (placeId == null) {
placeId = 0;
@ -668,8 +669,8 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
if (depositoryListForIn.size() > 0) {
flagForApproval = true;
}
if(isApprovalPass){
if(flagForApproval){
if (isApprovalPass) {
if (flagForApproval) {
flagForApproval = false;
}
}
@ -2074,14 +2075,13 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
map.put("approverTime", System.currentTimeMillis());
// 如果同意
for (String sid : split)
{
for (String sid : split) {
if ("2".equals(spStatus)) {
map.put("approverPass", 1);
map.put("state","已入库");
map.put("state", "已入库");
} else {
// 如果驳回
map.put("state","驳回");
map.put("state", "驳回");
map.put("approverPass", 2);
break;
}
@ -2142,7 +2142,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
MaterialAndPlace placeAndMaterialByMidAndPid = null;
// 用于存储拆单库存处理操作的数据
Map<String, Object> paramForInsertSplitInventory = new HashMap<>();
paramForInsertSplitInventory.put("sid",splitInfoForUnit.getId());
paramForInsertSplitInventory.put("sid", splitInfoForUnit.getId());
Map<String, Object> paramForInventory = new HashMap<>();
paramForInventory.put("depositoryId", recordP.getDepositoryId());
@ -2166,8 +2166,8 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
splitInventory = splitUnitMapper.findSplitInventoryByIidAndSid(paramForInsertSplitInventory);
}
}
splitUnitService.realInInventoryToDepository((double) recordP.getQuantity(), splitInventory, paramForUpdateInventory, splitInfoForUnit, placeAndMaterialByMidAndPid,true);
if(paramForUpdateInventory.containsKey("applicationInId")){
splitUnitService.realInInventoryToDepository((double) recordP.getQuantity(), splitInventory, paramForUpdateInventory, splitInfoForUnit, placeAndMaterialByMidAndPid, true);
if (paramForUpdateInventory.containsKey("applicationInId")) {
depositoryRecordMapper.deleteApplicationInRecordById(ObjectFormatUtil.toInteger(paramForUpdateInventory.get("applicationInId")));
}
}
@ -2285,8 +2285,8 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
@Override
@Transactional(rollbackFor = Exception.class)
public Integer review(Map<String, Object> map, Integer userid, UserByPort userToken, String userAgent) {
ApplicationOutRecordP record = depositoryRecordMapper.findApplicationOutRecordPById(ObjectFormatUtil.toInteger(map.get("id")));
Object id = map.get("id"); // 主订单编号
ApplicationOutRecordP record = depositoryRecordMapper.findApplicationOutRecordPById(ObjectFormatUtil.toInteger(id));
map.remove("id");
List<ApplicationOutRecordMin> minByParent = depositoryRecordMapper.findApplicationOutRecordMinByParent(record.getId());
@ -2558,6 +2558,116 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
return depositoryRecordMapper.updateApplicationOutRecord(map);
}
/**
* 入库审核申请
*
* @param map 仓库调度信息
* @return 受影响的行数
*/
@Override
@Transactional
public Integer reviewIn(Map<String, Object> map, Integer userId, UserByPort userToken, String userAgent) {
Object id = map.get("id"); // 主订单编号
// 获取当前审批结果
Integer approverPass = ObjectFormatUtil.toInteger(map.get("approverPass"));
map.put("approverId",userToken.getId());
map.put("approverTime",System.currentTimeMillis());
if(Integer.compare(approverPass,1) == 0){
// 如果审核通过
map.put("state","已入库");
// 获取具体入库订单
ApplicationInRecordP recordP = depositoryRecordMapper.findApplicationInRecordPById(ObjectFormatUtil.toInteger(id));
// 获取当前入库对应的物料
Material materialById = materialMapper.findMaterialById(recordP.getMid());
// 用于调用入库方法而创建的
Map<String, Object> paramForUpdateInventory = new HashMap<>();
paramForUpdateInventory.put("mid", recordP.getMid());
paramForUpdateInventory.put("quantity", recordP.getQuantity());
paramForUpdateInventory.put("depositoryId", recordP.getDepositoryId());
paramForUpdateInventory.put("placeId", recordP.getPlaceId());
if (materialById.getUnit().equals(recordP.getAirUnit())) {
// 如果是基础单位
Map<String, Object> param = new HashMap<>();
param.put("depositoryId", recordP.getDepositoryId());
param.put("mcode", materialById.getCode());
// 判断该仓库中有无该物物料
List<Inventory> materialByCondition = materialMapper.findInventory(param);
// 修改仓库库存
Long mproducedDate = recordP.getMproducedDate();
if (mproducedDate == null) {
mproducedDate = 0L;
}
Integer newMid = updateOrInsertInventory(paramForUpdateInventory, materialByCondition, (double) recordP.getQuantity(), materialById.getId(), recordP.getDepositoryId(), mproducedDate);
// 修改库位库存
paramForUpdateInventory.put("newInMid", newMid);
paramForUpdateInventory.put("id", recordP.getId());
paramForUpdateInventory.put("producedDate", recordP.getMproducedDate());
Place placeById = placeMapper.findPlaceById(recordP.getPlaceId());
updateInventoryInfoForApproval(paramForUpdateInventory, recordP.getQuantity(), materialById, placeById);
} else {
// 如果是拆单单位
// 查询拆单记录
Map<String, Object> paramForSplitInfo = new HashMap<>();
paramForSplitInfo.put("newUnit", recordP.getAirUnit());
paramForSplitInfo.put("mid", recordP.getMid());
// 查询当前拆单是否存在
SplitInfo splitInfoForUnit = splitUnitMapper.findSplitInfoByMidAndUnit(paramForSplitInfo);
if (splitInfoForUnit != null) {
// 如果该拆单记录存在
// 定义库存拆单记录
SplitInventory splitInventory = null;
// 定义对应的库存记录
Inventory inventory = null;
// 定义对应库存所在库位
MaterialAndPlace placeAndMaterialByMidAndPid = null;
// 用于存储拆单库存处理操作的数据
Map<String, Object> paramForInsertSplitInventory = new HashMap<>();
paramForInsertSplitInventory.put("sid", splitInfoForUnit.getId());
Map<String, Object> paramForInventory = new HashMap<>();
paramForInventory.put("depositoryId", recordP.getDepositoryId());
paramForInventory.put("mid", recordP.getMid());
// 判断该仓库中有无该物物料
List<Inventory> inventoryList = materialMapper.findInventory(paramForInventory);
if (inventoryList.size() > 0) {
inventory = inventoryList.get(0);
// 用于查找该库存对应库位
Map<String, Object> paramForInventoryToPlace = new HashMap<>();
paramForInventoryToPlace.put("pid", recordP.getPlaceId());
paramForInventoryToPlace.put("mid", inventory.getId());
placeAndMaterialByMidAndPid = placeMapper.findPlaceAndMaterialByMidAndPid(paramForInventoryToPlace);
if (placeAndMaterialByMidAndPid != null) {
paramForInsertSplitInventory.put("iid", placeAndMaterialByMidAndPid.getId());
// 查询当前库存是否有该拆单的处理记录
splitInventory = splitUnitMapper.findSplitInventoryByIidAndSid(paramForInsertSplitInventory);
}
}
splitUnitService.realInInventoryToDepository((double) recordP.getQuantity(), splitInventory, paramForUpdateInventory, splitInfoForUnit, placeAndMaterialByMidAndPid, true);
if (paramForUpdateInventory.containsKey("applicationInId")) {
depositoryRecordMapper.deleteApplicationInRecordById(ObjectFormatUtil.toInteger(paramForUpdateInventory.get("applicationInId")));
}
}
}
}
else{
map.put("state","驳回");
}
return depositoryRecordMapper.updateApplicationInRecord(map);
}
/**
* 用于企业微信的审核申请处理
*
@ -2771,7 +2881,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
}
// 进行入库操作
applicationInPlace(map,false);
applicationInPlace(map, false);
} else {
// 如果不在该仓库,插入一条新记录
Map<String, Object> insert = new HashMap<>();
@ -2919,7 +3029,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
SplitInfo parentSplitInfo = splitUnitMapper.findSplitInfoById(splitInfo.getParentId());
splitUnitService.updateSplitInfoSaveQuantity(parentSplitInfo, disposeQuantity, placeAndMaterial.getId(), map, quantity, splitInfo);
} else {
applicationInPlace(map,false);
applicationInPlace(map, false);
map.put("applicationInId", map.get("id"));
map.remove("id");
}
@ -2997,7 +3107,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
SplitInfo parentSplitInfo = splitUnitMapper.findSplitInfoById(splitInfo.getParentId());
splitUnitService.updateSplitInfoSaveQuantity(parentSplitInfo, disposeQuantity, placeAndMaterial.getId(), map, quantity, splitInfo);
} else {
applicationInPlace(map,false);
applicationInPlace(map, false);
map.put("applicationInId", map.get("id"));
map.remove("id");
}
@ -3156,7 +3266,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
SplitInfo parentSplitInfo = splitUnitMapper.findSplitInfoById(splitInfo.getParentId());
splitUnitService.updateSplitInfoSaveQuantity(parentSplitInfo, disposeQuantity, ObjectFormatUtil.toInteger(insertForMaterialAndPlace.get("id")), map, quantity, splitInfo);
} else {
applicationInPlace(map,false);
applicationInPlace(map, false);
map.put("applicationInId", map.get("id"));
map.remove("id");
}
@ -3181,9 +3291,9 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
* @return 该id的数据记录
*/
@Override
public DepositoryRecordP findDepositoryRecordById(Integer id, HttpServletRequest request) {
public DepositoryRecordP findDepositoryRecordById(Integer id, UserByPort userToken) {
DepositoryRecord depositoryRecordById = depositoryRecordMapper.findDepositoryRecordById(id);
return singlePack(depositoryRecordById, request);
return singlePack(depositoryRecordById, userToken);
}
public Integer checkPass() {
@ -3207,7 +3317,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
* @return 符合条件的仓库调度记录集合
*/
@Override
public List<DepositoryRecordP> findDepositoryRecordPByCondition(Map<String, Object> map, HttpServletRequest request) {
public List<DepositoryRecordP> findDepositoryRecordPByCondition(Map<String, Object> map, UserByPort userToken) {
Integer size = 8, page = 1;
if (map.containsKey("size")) {
size = ObjectFormatUtil.toInteger(map.get("size"));
@ -3218,7 +3328,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
map.put("begin", (page - 1) * size);
}
List<DepositoryRecord> depositoryRecordByCondition = depositoryRecordMapper.findDepositoryRecordByCondition(map);
return pack(depositoryRecordByCondition, request);
return pack(depositoryRecordByCondition, userToken);
}
/**
@ -3228,7 +3338,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
* @return
*/
@Override
public List<ApplicationInRecordP> findApplicationInRecordPByCondition(Map<String, Object> map, HttpServletRequest request) {
public List<ApplicationInRecordP> findApplicationInRecordPByCondition(Map<String, Object> map, UserByPort userToken) {
Integer size = 10, page = 1;
if (map.containsKey("size")) {
size = ObjectFormatUtil.toInteger(map.get("size"));
@ -3244,7 +3354,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
}
List<ApplicationInRecordP> list = depositoryRecordMapper.findApplicationInRecordPByCondition(map);
for (ApplicationInRecordP applicationInRecordP : list) {
UserByPort userByPortById = findUserByPortById(applicationInRecordP.getApplicantId(), request);
UserByPort userByPortById = LinkInterfaceUtil.FindUserById(applicationInRecordP.getApplicantId(), userToken);
String time = DateUtil.TimeStampToDateTime(Long.valueOf(applicationInRecordP.getApplicantTime()));
applicationInRecordP.setApplicantName(userByPortById.getName());
applicationInRecordP.setApplicantTime(time);
@ -3409,7 +3519,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
* @return
*/
@Override
public List<ApplicationOutRecordP> findApplicationOutRecordPByCondition(Map<String, Object> map, HttpServletRequest request) {
public List<ApplicationOutRecordP> findApplicationOutRecordPByCondition(Map<String, Object> map, UserByPort userToken) {
Integer size = 10, page = 1;
if (map.containsKey("size")) {
size = ObjectFormatUtil.toInteger(map.get("size"));
@ -3425,7 +3535,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
}
List<ApplicationOutRecordP> list = depositoryRecordMapper.findApplicationOutRecordPByCondition(map);
for (int i = 0; i < list.size(); i++) {
UserByPort userByPortById = findUserByPortById(list.get(i).getApplicantId(), request);
UserByPort userByPortById = LinkInterfaceUtil.FindUserById(list.get(i).getApplicantId(), userToken);
String time = DateUtil.TimeStampToDateTime(Long.valueOf(list.get(i).getApplicantTime()));
list.get(i).setApplicantName(userByPortById.getName());
list.get(i).setApplicantTime(time);
@ -3496,7 +3606,28 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
* @return 我的任务
*/
@Override
public List<SimpleApplicationOutRecordP> findMyTask(Map<String, Object> map, HttpServletRequest request) {
public List<SimpleApplicationOutOrInRecordP> findMyTaskOut(Map<String, Object> map, UserByPort userToken) {
Integer size = 10, page = 1;
if (map.containsKey("size")) {
size = ObjectFormatUtil.toInteger(map.get("size"));
map.put("size", size);
}
if (map.containsKey("page")) {
page = ObjectFormatUtil.toInteger(map.get("page"));
map.put("begin", (page - 1) * size);
}
List<SimpleApplicationOutRecord> myTaskOut = depositoryRecordMapper.findMyTaskOut(map);
return simplePackOut(myTaskOut, userToken);
}
/**
* 根据条件查询自己的任务根据isDone来决定查询已完成或者未完成的任务同时支持分页查询需要begin和size参数
*
* @param map 查询参数
* @return 我的任务
*/
@Override
public List<SimpleApplicationOutOrInRecordP> findMyTaskIn(Map<String, Object> map, UserByPort userToken) {
Integer size = 10, page = 1;
if (map.containsKey("size")) {
size = ObjectFormatUtil.toInteger(map.get("size"));
@ -3506,8 +3637,8 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
page = ObjectFormatUtil.toInteger(map.get("page"));
map.put("begin", (page - 1) * size);
}
// return simplePack(depositoryRecordMapper.findMyTask(map));
return simplePackOut(depositoryRecordMapper.findMyTaskOut(map), request);
List<SimpleApplicationInRecord> myTaskIn = depositoryRecordMapper.findMyTaskIn(map);
return simplePackIn(myTaskIn, userToken);
}
/**
@ -3562,6 +3693,16 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
return depositoryRecordMapper.findMyTaskOutCount(map);
}
/**
* 返回该我的任务数完成或者未完成
*
* @return 条数
*/
@Override
public Integer findMyTaskInCount(Map<String, Object> map) {
return depositoryRecordMapper.findMyTaskInCount(map);
}
/**
* 根据查询条件返回该表的总条数
*
@ -3916,11 +4057,23 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
* @param list SimpleDepositoryRecord集合
* @return 包装好的集合
*/
private List<SimpleApplicationOutRecordP> simplePackOut(List<SimpleApplicationOutRecord> list, HttpServletRequest request) {
List<SimpleApplicationOutRecordP> result = new ArrayList<>(list.size());
private List<SimpleApplicationOutOrInRecordP> simplePackOut(List<SimpleApplicationOutRecord> list, UserByPort userToken) {
List<SimpleApplicationOutOrInRecordP> result = new ArrayList<>(list.size());
for (SimpleApplicationOutRecord record : list) {
SimpleApplicationOutRecordP d = new SimpleApplicationOutRecordP(record);
UserByPort userByPort = findUserByPortById(record.getApplicantId(), request);
SimpleApplicationOutOrInRecordP d = new SimpleApplicationOutOrInRecordP(record);
UserByPort userByPort = LinkInterfaceUtil.FindUserById(record.getApplicantId(), userToken);
d.setApplyRemark(d.getApplyRemark() == null ? "" : d.getApplyRemark());
d.setApplicantName(userByPort.getName());
result.add(d);
}
return result;
}
private List<SimpleApplicationOutOrInRecordP> simplePackIn(List<SimpleApplicationInRecord> list, UserByPort userToken) {
List<SimpleApplicationOutOrInRecordP> result = new ArrayList<>(list.size());
for (SimpleApplicationInRecord record : list) {
SimpleApplicationOutOrInRecordP d = new SimpleApplicationOutOrInRecordP(record);
UserByPort userByPort = LinkInterfaceUtil.FindUserById(record.getApplicantId(), userToken);
d.setApplyRemark(d.getApplyRemark() == null ? "" : d.getApplyRemark());
d.setApplicantName(userByPort.getName());
result.add(d);
@ -3934,54 +4087,30 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
* @param list DepositoryRecord集合
* @return 包装好的集合
*/
private List<DepositoryRecordP> pack(List<DepositoryRecord> list, HttpServletRequest request) {
private List<DepositoryRecordP> pack(List<DepositoryRecord> list, UserByPort userByPort) {
List<DepositoryRecordP> result = new ArrayList<>(list.size());
for (DepositoryRecord record : list) {
result.add(singlePack(record, request));
result.add(singlePack(record, userByPort));
}
return result;
}
private DepositoryRecordP singlePack(DepositoryRecord record, HttpServletRequest request) {
private DepositoryRecordP singlePack(DepositoryRecord record, UserByPort userByPort) {
DepositoryRecordP d = new DepositoryRecordP(record);
UserByPort getApplicantUser = findUserByPortById(record.getApplicantId(), request);
UserByPort getApplicantUser = LinkInterfaceUtil.FindUserById(record.getApplicantId(), userByPort);
d.setApplicantName(getApplicantUser.getName());
d.setDepositoryName(depositoryMapper.findDepositoryNameById(record.getDepositoryId()));
if (record.getReviewerId() != null) {
UserByPort reviewerUser = findUserByPortById(record.getReviewerId(), request);
UserByPort reviewerUser = LinkInterfaceUtil.FindUserById(record.getReviewerId(), userByPort);
d.setReviewerName(reviewerUser.getName());
}
if (record.getCheckerId() != null) {
UserByPort checkerUser = findUserByPortById(record.getCheckerId(), request);
UserByPort checkerUser = LinkInterfaceUtil.FindUserById(record.getCheckerId(), userByPort);
d.setCheckerName(checkerUser.getName());
}
return d;
}
/**
* 根据id获取对应用户
*
* @param id
* @return
*/
private UserByPort findUserByPortById(Integer id, HttpServletRequest request) {
UserByPort userToken = (UserByPort) request.getAttribute("userToken");
String url = PortConfig.external_url + "/staff/archivescont";
Map<String, Object> map = new HashMap<>();
map.put("id", id);
String jsonString = JSONObject.toJSONString(map);
JSONObject paramObject = JSONObject.parseObject(jsonString);
String post = null;
try {
post = HttpUtils.send(url, paramObject, StandardCharsets.UTF_8.toString(), userToken);
} catch (IOException e) {
e.printStackTrace();
}
JSONObject jsonObject = JSONObject.parseObject(post);
JSONObject data = (JSONObject) jsonObject.get("data");
UserByPort userByPort = JSONObject.toJavaObject(data, UserByPort.class);
return userByPort;
}
/**
* 生成单号

188
src/main/resources/templates/pages/application/form-step-look_group_review.html

@ -0,0 +1,188 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<title>组合</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="/static/lib/layui-v2.6.3/css/layui.css" media="all">
<link rel="stylesheet" href="/static/css/public.css" media="all">
<link rel="stylesheet" href="/static/js/lay-module/step-lay/step.css" media="all">
<style>
.inputdiv {
display: flex;
background-color: #fff;
height: 38px;
line-height: 38px;
border: 1px solid rgb(238, 238, 238);
}
.layui-form-label {
padding: 9px 0px;
text-align: left;
}
.layui-input-block {
margin-left: 80px;
}
.layui-form-select {
width: 100%;
border-style: none;
}
</style>
</head>
<body>
<div class="layuimini-container">
<div class="layuimini-main">
<div>
<fieldset class="table-search-fieldset">
<legend>组合入库</legend>
<div class="layui-fluid">
<div class="layui-card">
<form class="layui-form"
style="margin: 0 auto;max-width: 700px;"
lay-filter="form1" id="form1">
<div class="layui-card-body" id="takingHeader" style="padding-right: 0px">
<div class="layui-form-item">
<label class="layui-form-label">组合名称:</label>
<div class="layui-input-block">
<input type="text" name="gname" class="layui-input" id="gname"
th:value="${group.getGname()}" readonly
lay-verify="required"/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">组合编码:</label>
<div class="layui-input-block">
<input type="text" id="gcode" name="gcode"
th:value="${group.getCode()}" readonly
class="layui-input" lay-verify="required"/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">仓库名称:</label>
<div class="layui-input-block">
<input type="text" id="depositoryName" name="depositoryName" readonly
th:value="${record.getDepositoryName()}"
class="layui-input" lay-verify="required"/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">库位编码:</label>
<div class="layui-input-block">
<input type="text" id="placeCode" name="placeCode" readonly
th:value="${placeCode}"
class="layui-input" lay-verify="required"/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">入库数量:</label>
<div class="layui-input-block">
<input type="text" id="quantity" name="quantity" readonly
th:value="${record.getQuantity()}"
class="layui-input" lay-verify="required"/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注:</label>
<div class="layui-input-block">
<input type="text" id="remark" name="remark" readonly
th:value="${record.getApplyRemark()}"
class="layui-input" lay-verify="required"/>
</div>
</div>
</div>
<fieldset class="table-search-fieldset">
<legend>组合明细</legend>
<div class="layui-card-body" id="InventoryDetails" style="padding-right: 0px">
<hr>
<div class="layui-collapse" lay-accordion>
<div class="layui-colla-item"
th:each="groupInfo,iterStar:${groupInfoList}">
<h2 class="layui-colla-title"
th:text="${groupInfo.getMname()}"></h2>
<div class="layui-colla-content">
<div class="layui-form-item">
<label class="layui-form-label">物料编码:</label>
<div class="layui-input-block" style="margin: 0px;">
<div class="inputdiv">
<input type="text" placeholder="请填写入物料编码"
th:value="${groupInfo.getMcode()}"
class="layui-input" lay-verify="required" readonly
style="border-style: none">
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">物料类型:</label>
<div class="layui-input-block">
<input type="text" placeholder="请选择物料类型"
class="layui-input"
th:value="${groupInfo.getTname()}"
readonly
lay-verify="required"/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">物料数量:</label>
<div class="layui-input-block">
<input type="text"
class="layui-input"
th:value="${groupInfo.getQuantity()}"
readonly
lay-verify="required"/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">材质:</label>
<div class="layui-input-block">
<input type="text" placeholder="请填写材质名称" readonly
class="layui-input"
th:value="${groupInfo.getTexture()}"
/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">规格型号:</label>
<div class="layui-input-block">
<input type="text" placeholder="请填写规格型号"
class="layui-input" readonly
th:value="${groupInfo.getVersion()}"
/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">计量单位:</label>
<div class="layui-input-block">
<input type="text" placeholder="请填写计量单位"
class="layui-input" readonly
th:value="${groupInfo.getShowUnit()}"
/>
</div>
</div>
</div>
</div>
</div>
</div>
</fieldset>
</form>
</div>
</div>
</fieldset>
</div>
</div>
</div>
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script src="/static/js/lay-config.js?v=1.0.4" charset="utf-8"></script>
</body>
</html>

182
src/main/resources/templates/pages/application/form-step-look_in_review.html

@ -0,0 +1,182 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<title>分步表单</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="/static/lib/layui-v2.6.3/css/layui.css" media="all">
<link rel="stylesheet" href="/static/css/public.css" media="all">
<link rel="stylesheet" href="/static/js/lay-module/step-lay/step.css" media="all">
</head>
<body>
<div class="layuimini-container">
<div class="layuimini-main">
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-body" style="padding-top: 40px;">
<input type="text" id="id" th:value="${record.getId()}" style="display:none;">
<div id="stepForm" lay-filter="stepForm" style="margin: 0 auto;">
<div style="margin-top: 30px">
<table id="demo" class="layui-table"
style="margin: 0 auto;max-width: 800px;padding-top: 40px;">
<colgroup>
<col width="150">
<col width="200">
</colgroup>
<tbody>
<tr>
<td>申请编号</td>
<td id="applicationId" th:text="${record.getAircode()}">123456</td>
</tr>
<tr>
<td>物料名称</td>
<td id="materialName" th:text="${record.getMname()}">骁龙888芯片</td>
</tr>
<tr>
<td>存货编码</td>
<td id="mcode" th:text="${record.getMcode()}">外芯仓库</td>
</tr>
<tr>
<td>计量单位</td>
<td id="airunit" th:text="${record.getAirUnit()}">外芯仓库</td>
</tr>
<tr>
<td>数量</td>
<td id="quantity" th:text="${record.getQuantity()}">409</td>
</tr>
<tr>
<td>金额</td>
<td id="price" th:text="${record.getPrice()}">2016-11-28</td>
</tr>
<tr>
<td>仓库名称</td>
<td id="depositoryName" th:text="${record.getDepositoryName()}">外芯仓库</td>
</tr>
<tr>
<td>库位编码</td>
<td id="placeCode" th:text="${placeCode}">默认库位</td>
</tr>
<tr>
<td>提交人</td>
<td id="applicantName" th:text="${record.getApplicantName()}">2016-11-28</td>
</tr>
<tr>
<td>提交时间</td>
<td id="applyTime" th:text="${record.getApplicantTime()}">2016-11-28</td>
</tr>
<tr>
<td>申请备注</td>
<td id="applyRemarks" th:text="${record.getApplyRemark()}">2016-11-28</td>
</tr>
<tr>
<td>状态</td>
<td id="state" th:text="${record.getAirstate()}">2016-11-28</td>
<td style="display: none" id="approverpass" th:text="${record.getAirapproverPass()}">2016-11-28</td>
</tr>
<tr id="approverNameT">
<td>审批人</td>
<td id="approverName" th:text="${record.getAirapproverName()}">2016-11-28</td>
</tr>
</tbody>
</table>
</div>
</div>
<hr>
<div id="review">
<div class="layui-form" style="margin: 0 auto;max-width: 900px;padding-top: 40px;">
<div class="layui-form-item">
<label class="layui-form-label">审核备注:</label>
<div class="layui-input-block">
<input id="approverMessage" name="approverMessage"
placeholder="请填写相关原因及申请原因" value="" class="layui-input"/>
</div>
</div>
<div class="layui-row layui-col-space15">
<div class="layui-input-block">
<div class="layui-col-xs12 layui-col-md3" style="padding: 7.5px">
<button type="button" class="layui-btn" onclick="review(1)">
&emsp;同意&emsp;
</button>
</div>
<div class="layui-col-xs12 layui-col-md3" style="padding: 7.5px">
<button type="button" class="layui-btn layui-btn-danger"
onclick="review(2)">
&emsp;驳回&emsp;
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script src="/static/js/lay-config.js?v=1.0.4" charset="utf-8"></script>
<script>
function review() {
}
layui.use(['form', 'table', 'laydate'], function () {
var $ = layui.jquery;
review = function (pass) {
let data = {};
data.id = $("#id").val();
if (pass === 1) {
data.approverPass = 1;
} else {
data.approverPass = 2;
}
data.approverMessage = $("#approverMessage").val();
send(data);
};
function send(req) {
$.ajax({
url: "/depositoryRecord/reviewIn",
type: 'put',
dataType: 'json',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(req),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.detail,
{
icon: 2,
time: 300
},
function () {
window.location = '/form_step_look?id=' + req.id;
});//失败的表情
return;
} else {
layer.msg("提交成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
}, function () {
window.location = '/form_step_look?id=' + req.id;
});
}
},
})
}
})
</script>
</body>
</html>

131
src/main/resources/templates/pages/application/my-task.html

@ -73,28 +73,35 @@
var data = {};
//先声明
function openDetail1(data) {
};
function openDetailForOut(data) {
}
function openDetailForIn(data) {
}
//先声明
function openDetailForOutView(data) {
}
//先声明
function openDetail2(data) {
};
function openDetailForInView(data) {
}
//先声明(用于pc端跳转)
function openDetail3(data) {
};
}
// 用于手机端跳转
function openDetail3_mobile(data) {
};
}
//先声明(用于pc端跳转)
function openDetail4(data) {
};
}
// 用于手机端跳转
function openDetail4_mobile(data) {
};
}
//先声明(用于pc端跳转)
function openDetailForTaking(data) {
@ -113,7 +120,7 @@
util = layui.util;
//每页的数量
var size = 8;
let pre1 = 0, pre2 = 0, pre3 = 0, pre4 = 0;
let pre1 = 0, pre2 = 0, pre3 = 0, pre4 = 0, pre5 = 0, pre6 = 0;
flow.load({
elem: '#LAY_floor1' //流加载容器
, scrollElem: '#LAY_floor1' //滚动条所在元素,一般不用填,此处只是演示需要。
@ -121,8 +128,9 @@
, done: function (page, next) { //执行下一页的回调
let lis = [];
let lis1 = [];
let lis2 = [];
let result;
$.get('/depositoryRecord/myTask?page=' + page + '&size=' + size + '&isDone=0', function (res) {
$.get('/depositoryRecord/myTaskOut?page=' + page + '&size=' + size + '&isDone=0', function (res) {
var Width = "25%";
result = res.data;
lis.push("<div class='clearfix'>");
@ -130,7 +138,7 @@
Width = "50%";
}
for (let i = 0; i < result.length; i++) {
lis.push('<li style="width:' + Width + ';float:left;"><div class="layui-card my-shadow my-card flow1" onclick="openDetail1('
lis.push('<li style="width:' + Width + ';float:left;"><div class="layui-card my-shadow my-card flow1" onclick="openDetailForOut('
+ result[i].id + ')"><div class="layui-card-header"><h2>'
+ result[i].applicantName + '的');
lis.push('出库请求</h2></div>');
@ -143,6 +151,27 @@
//pages为Ajax返回的总页数,只有当前页小于总页数的情况下,才会继续出现加载更多
next(lis.join(''), pre1 < res.count);
});
$.get('/depositoryRecord/myTaskIn?page=' + page + '&size=' + size + '&isDone=0', function (res) {
var Width = "25%";
result = res.data;
lis2.push("<div class='clearfix'>");
if (isMobile()) {
Width = "50%";
}
for (let i = 0; i < result.length; i++) {
lis2.push('<li style="width:' + Width + ';float:left;"><div class="layui-card my-shadow my-card flow1" onclick="openDetailForIn('
+ result[i].id + ')"><div class="layui-card-header"><h2>'
+ result[i].applicantName + '的');
lis2.push('入库请求</h2></div>');
lis2.push('<div class="layui-col-md4 my-time" style="margin-left: 15px; color: #999;font-size: 12px;">'
+ result[i].applicantTime + '</div></div></li>');
}
lis2.push('</div>');
pre5 += result.length;
//执行下一页渲染,第二参数为:满足“加载更多”的条件,即后面仍有分页
//pages为Ajax返回的总页数,只有当前页小于总页数的情况下,才会继续出现加载更多
next(lis2.join(''), pre5 < res.count);
});
$.get('/stockTaking/myTask?page=' + page + '&size=' + size + '&isDone=0', function (res) {
var Width = "25%";
result = res.data;
@ -174,8 +203,9 @@
, done: function (page, next) { //执行下一页的回调
let lis = [];
let lis1 = [];
let lis2 = [];
let result;
$.get('/depositoryRecord/myTask?page=' + page + '&size=' + size + '&isDone=1', function (res) {
$.get('/depositoryRecord/myTaskOut?page=' + page + '&size=' + size + '&isDone=1', function (res) {
var Width = "25%";
result = res.data;
lis.push("<div class='clearfix'>");
@ -183,14 +213,10 @@
if (isMobile()) {
Width = "50%";
}
lis.push('<li style="width:' + Width + ';float:left;"><div class="layui-card my-shadow my-card flow1" onclick="openDetail2('
lis.push('<li style="width:' + Width + ';float:left;"><div class="layui-card my-shadow my-card flow1" onclick="openDetailForOutView('
+ result[i].id + ')" ><div class="layui-card-header"><h2>'
+ result[i].applicantName + '的')
if (result[i].type === 1) {
lis.push('入库请求</h2></div>');
} else {
lis.push('出库请求</h2></div>');
}
+ result[i].applicantName + '的');
lis.push('出库请求</h2></div>');
lis.push('<div class="layui-col-md4 my-time" style="margin-left: 15px; color: #999;font-size: 12px;">'
+ result[i].applicantTime + '</div></div></li>');
}
@ -200,6 +226,27 @@
//pages为Ajax返回的总页数,只有当前页小于总页数的情况下,才会继续出现加载更多
next(lis.join(''), pre2 < res.count);
});
$.get('/depositoryRecord/myTaskIn?page=' + page + '&size=' + size + '&isDone=1', function (res) {
var Width = "25%";
result = res.data;
lis2.push("<div class='clearfix'>");
for (let i = 0; i < result.length; i++) {
if (isMobile()) {
Width = "50%";
}
lis2.push('<li style="width:' + Width + ';float:left;"><div class="layui-card my-shadow my-card flow1" onclick="openDetailForInView('
+ result[i].id + ')" ><div class="layui-card-header"><h2>'
+ result[i].applicantName + '的');
lis2.push('入库请求</h2></div>');
lis2.push('<div class="layui-col-md4 my-time" style="margin-left: 15px; color: #999;font-size: 12px;">'
+ result[i].applicantTime + '</div></div></li>');
}
lis2.push("</div>");
pre6 += result.length;
//执行下一页渲染,第二参数为:满足“加载更多”的条件,即后面仍有分页
//pages为Ajax返回的总页数,只有当前页小于总页数的情况下,才会继续出现加载更多
next(lis2.join(''), pre6 < res.count);
});
$.get('/stockTaking/myTask?page=' + page + '&size=' + size + '&isDone=1', function (res) {
var Width = "25%";
result = res.data;
@ -261,7 +308,6 @@
});
}
});
flow.load({
elem: '#LAY_floor4' //流加载容器
, scrollElem: '#LAY_floor4' //滚动条所在元素,一般不用填,此处只是演示需要。
@ -300,7 +346,10 @@
});
}
});
openDetail1 = function (item) {
// 用于跳转到出库审核页面
openDetailForOut = function (item) {
var index = layer.open({
title: '请求详情',
type: 2,
@ -318,7 +367,27 @@
layer.full(index);
});
};
openDetail2 = function (item) {
// 用于跳转到入库审核页面
openDetailForIn = function (item) {
var index = layer.open({
title: '请求详情',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['100%', '100%'],
content: '/application_in_review?id=' + item,
end: function () {
location.reload()
}
});
$(window).on("resize", function () {
layer.full(index);
});
};
// 用于跳转到出库任务查看页面
openDetailForOutView = function (item) {
var index = layer.open({
title: '请求详情',
type: 2,
@ -335,6 +404,24 @@
layer.full(index);
});
};
// 用于跳转到入库任务查看页面
openDetailForInView = function (item) {
var index = layer.open({
title: '请求详情',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['100%', '100%'],
content: '/form_step_look?id=' + item,
end: function () {
location.reload()
}
});
$(window).on("resize", function () {
layer.full(index);
});
};
// 用于pc端跳转
openDetail3 = function (item) {
var index = layer.open({

24
src/main/resources/templates/pages/other/welcome.html

@ -413,7 +413,26 @@
$(window).on("resize", function () {
layer.full(index);
});
} else if (type === "库存盘点请求") {
}
else if (type === '入库请求') {
var index = layer.open({
title: '请求详情',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['100%', '100%'],
content: '/application_in_review?id=' + id,
end: function () {
location.reload()
}
});
$(window).on("resize", function () {
layer.full(index);
});
}
else if (type === "库存盘点请求") {
var index = layer.open({
title: '请求详情',
type: 2,
@ -429,7 +448,8 @@
$(window).on("resize", function () {
layer.full(index);
});
} else if (type === "物料出库请求") {
}
else if (type === "物料出库请求") {
var index = layer.open({
title: '请求详情',
type: 2,

21
src/main/resources/templates/pages/other/welcome_mobile.html

@ -418,7 +418,26 @@
$(window).on("resize", function () {
layer.full(index);
});
} else if (type === "库存盘点请求") {
}
else if (type === '入库请求') {
var index = layer.open({
title: '请求详情',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['100%', '100%'],
content: '/application_in_review?id=' + id,
end: function () {
location.reload()
}
});
$(window).on("resize", function () {
layer.full(index);
});
}
else if (type === "库存盘点请求") {
var index = layer.open({
title: '请求详情',
type: 2,

44
target/classes/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml

@ -21,6 +21,14 @@
<result column="applyRemark" property="applyRemark" jdbcType="VARCHAR"/>
</resultMap>
<!-- 字段映射 -->
<resultMap id="simpleApplicationInRecordMap"
type="com.dreamchaser.depository_manage.entity.SimpleApplicationInRecord">
<id property="id" column="airid" jdbcType="INTEGER"/>
<result column="applicantId" property="applicant_id" jdbcType="INTEGER"/>
<result column="applicantTime" property="applicant_time" jdbcType="INTEGER"/>
<result column="applyRemark" property="applyRemark" jdbcType="VARCHAR"/>
</resultMap>
<!-- 字段映射 -->
<resultMap id="depositoryRecordMap" type="com.dreamchaser.depository_manage.entity.DepositoryRecord">
<id column="id" property="id" jdbcType="INTEGER"/>
<result column="application_id" property="applicationId" jdbcType="INTEGER"/>
@ -130,6 +138,10 @@
<sql id="simpleApplicationOut">
aorid,applicantId, applyRemark, applicantTime,aorcode
</sql>
<sql id="simpleApplicationIn">
airid,applicant_id,applicant_time,applyRemark
</sql>
<!-- 表查询字段 -->
<sql id="allColumns">
dr.id, dr.application_id, dr.mname, dr.depository_id, dr.type, dr.quantity, dr.price, dr.state,
@ -309,6 +321,38 @@
</select>
<select id="findMyTaskIn" resultMap="simpleApplicationInRecordMap" parameterType="map">
SELECT
<include refid="simpleApplicationIn"/>
FROM applicationinrecordinfo WHERE 1=1 and airapproverPass != 4
<if test='isDone == "0"'>
and (FIND_IN_SET(#{userId},airapproverId) != 0 and airapproverPass = 3)
</if>
<if test='isDone == "1"'>
and ( FIND_IN_SET(#{userId},airapproverId) != 0 and airapproverPass != 3)
</if>
ORDER BY applicant_time desc
<if test="begin != null and size != null">
LIMIT #{begin},#{size}
</if>
</select>
<select id="findMyTaskInCount" resultType="int" parameterType="map">
SELECT
count(*)
FROM applicationinrecordinfo WHERE 1=1 and airapproverPass != 4
<if test='isDone == "0"'>
and (FIND_IN_SET(#{userId},airapproverId) != 0 and airapproverPass = 3)
</if>
<if test='isDone == "1"'>
and ( FIND_IN_SET(#{userId},airapproverId) != 0 and airapproverPass != 3)
</if>
</select>
<!--根据条件查询入库记录-->
<select id="findApplicationInRecordByDepository" parameterType="String" resultMap="applicationInRecord">
select

131
target/classes/templates/pages/application/my-task.html

@ -73,28 +73,35 @@
var data = {};
//先声明
function openDetail1(data) {
};
function openDetailForOut(data) {
}
function openDetailForIn(data) {
}
//先声明
function openDetailForOutView(data) {
}
//先声明
function openDetail2(data) {
};
function openDetailForInView(data) {
}
//先声明(用于pc端跳转)
function openDetail3(data) {
};
}
// 用于手机端跳转
function openDetail3_mobile(data) {
};
}
//先声明(用于pc端跳转)
function openDetail4(data) {
};
}
// 用于手机端跳转
function openDetail4_mobile(data) {
};
}
//先声明(用于pc端跳转)
function openDetailForTaking(data) {
@ -113,7 +120,7 @@
util = layui.util;
//每页的数量
var size = 8;
let pre1 = 0, pre2 = 0, pre3 = 0, pre4 = 0;
let pre1 = 0, pre2 = 0, pre3 = 0, pre4 = 0, pre5 = 0, pre6 = 0;
flow.load({
elem: '#LAY_floor1' //流加载容器
, scrollElem: '#LAY_floor1' //滚动条所在元素,一般不用填,此处只是演示需要。
@ -121,8 +128,9 @@
, done: function (page, next) { //执行下一页的回调
let lis = [];
let lis1 = [];
let lis2 = [];
let result;
$.get('/depositoryRecord/myTask?page=' + page + '&size=' + size + '&isDone=0', function (res) {
$.get('/depositoryRecord/myTaskOut?page=' + page + '&size=' + size + '&isDone=0', function (res) {
var Width = "25%";
result = res.data;
lis.push("<div class='clearfix'>");
@ -130,7 +138,7 @@
Width = "50%";
}
for (let i = 0; i < result.length; i++) {
lis.push('<li style="width:' + Width + ';float:left;"><div class="layui-card my-shadow my-card flow1" onclick="openDetail1('
lis.push('<li style="width:' + Width + ';float:left;"><div class="layui-card my-shadow my-card flow1" onclick="openDetailForOut('
+ result[i].id + ')"><div class="layui-card-header"><h2>'
+ result[i].applicantName + '的');
lis.push('出库请求</h2></div>');
@ -143,6 +151,27 @@
//pages为Ajax返回的总页数,只有当前页小于总页数的情况下,才会继续出现加载更多
next(lis.join(''), pre1 < res.count);
});
$.get('/depositoryRecord/myTaskIn?page=' + page + '&size=' + size + '&isDone=0', function (res) {
var Width = "25%";
result = res.data;
lis2.push("<div class='clearfix'>");
if (isMobile()) {
Width = "50%";
}
for (let i = 0; i < result.length; i++) {
lis2.push('<li style="width:' + Width + ';float:left;"><div class="layui-card my-shadow my-card flow1" onclick="openDetailForIn('
+ result[i].id + ')"><div class="layui-card-header"><h2>'
+ result[i].applicantName + '的');
lis2.push('入库请求</h2></div>');
lis2.push('<div class="layui-col-md4 my-time" style="margin-left: 15px; color: #999;font-size: 12px;">'
+ result[i].applicantTime + '</div></div></li>');
}
lis2.push('</div>');
pre5 += result.length;
//执行下一页渲染,第二参数为:满足“加载更多”的条件,即后面仍有分页
//pages为Ajax返回的总页数,只有当前页小于总页数的情况下,才会继续出现加载更多
next(lis2.join(''), pre5 < res.count);
});
$.get('/stockTaking/myTask?page=' + page + '&size=' + size + '&isDone=0', function (res) {
var Width = "25%";
result = res.data;
@ -174,8 +203,9 @@
, done: function (page, next) { //执行下一页的回调
let lis = [];
let lis1 = [];
let lis2 = [];
let result;
$.get('/depositoryRecord/myTask?page=' + page + '&size=' + size + '&isDone=1', function (res) {
$.get('/depositoryRecord/myTaskOut?page=' + page + '&size=' + size + '&isDone=1', function (res) {
var Width = "25%";
result = res.data;
lis.push("<div class='clearfix'>");
@ -183,14 +213,10 @@
if (isMobile()) {
Width = "50%";
}
lis.push('<li style="width:' + Width + ';float:left;"><div class="layui-card my-shadow my-card flow1" onclick="openDetail2('
lis.push('<li style="width:' + Width + ';float:left;"><div class="layui-card my-shadow my-card flow1" onclick="openDetailForOutView('
+ result[i].id + ')" ><div class="layui-card-header"><h2>'
+ result[i].applicantName + '的')
if (result[i].type === 1) {
lis.push('入库请求</h2></div>');
} else {
lis.push('出库请求</h2></div>');
}
+ result[i].applicantName + '的');
lis.push('出库请求</h2></div>');
lis.push('<div class="layui-col-md4 my-time" style="margin-left: 15px; color: #999;font-size: 12px;">'
+ result[i].applicantTime + '</div></div></li>');
}
@ -200,6 +226,27 @@
//pages为Ajax返回的总页数,只有当前页小于总页数的情况下,才会继续出现加载更多
next(lis.join(''), pre2 < res.count);
});
$.get('/depositoryRecord/myTaskIn?page=' + page + '&size=' + size + '&isDone=1', function (res) {
var Width = "25%";
result = res.data;
lis2.push("<div class='clearfix'>");
for (let i = 0; i < result.length; i++) {
if (isMobile()) {
Width = "50%";
}
lis2.push('<li style="width:' + Width + ';float:left;"><div class="layui-card my-shadow my-card flow1" onclick="openDetailForInView('
+ result[i].id + ')" ><div class="layui-card-header"><h2>'
+ result[i].applicantName + '的');
lis2.push('入库请求</h2></div>');
lis2.push('<div class="layui-col-md4 my-time" style="margin-left: 15px; color: #999;font-size: 12px;">'
+ result[i].applicantTime + '</div></div></li>');
}
lis2.push("</div>");
pre6 += result.length;
//执行下一页渲染,第二参数为:满足“加载更多”的条件,即后面仍有分页
//pages为Ajax返回的总页数,只有当前页小于总页数的情况下,才会继续出现加载更多
next(lis2.join(''), pre6 < res.count);
});
$.get('/stockTaking/myTask?page=' + page + '&size=' + size + '&isDone=1', function (res) {
var Width = "25%";
result = res.data;
@ -261,7 +308,6 @@
});
}
});
flow.load({
elem: '#LAY_floor4' //流加载容器
, scrollElem: '#LAY_floor4' //滚动条所在元素,一般不用填,此处只是演示需要。
@ -300,7 +346,10 @@
});
}
});
openDetail1 = function (item) {
// 用于跳转到出库审核页面
openDetailForOut = function (item) {
var index = layer.open({
title: '请求详情',
type: 2,
@ -318,7 +367,27 @@
layer.full(index);
});
};
openDetail2 = function (item) {
// 用于跳转到入库审核页面
openDetailForIn = function (item) {
var index = layer.open({
title: '请求详情',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['100%', '100%'],
content: '/application_in_review?id=' + item,
end: function () {
location.reload()
}
});
$(window).on("resize", function () {
layer.full(index);
});
};
// 用于跳转到出库任务查看页面
openDetailForOutView = function (item) {
var index = layer.open({
title: '请求详情',
type: 2,
@ -335,6 +404,24 @@
layer.full(index);
});
};
// 用于跳转到入库任务查看页面
openDetailForInView = function (item) {
var index = layer.open({
title: '请求详情',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['100%', '100%'],
content: '/form_step_look?id=' + item,
end: function () {
location.reload()
}
});
$(window).on("resize", function () {
layer.full(index);
});
};
// 用于pc端跳转
openDetail3 = function (item) {
var index = layer.open({

Loading…
Cancel
Save