Browse Source

修改:添加请购单审核,已添加请购单经理审核,主管审核,副总经理审核页面。已通过请购单经理审核,主管审核,副总经理审核。修改流程图对象,新增变量surpass 金额大于3000 节点。

dev
zhangsiqi 5 months ago
parent
commit
6c60884dba
  1. 7
      ruoyi-activiti/src/main/java/com/ruoyi/process/todoitem/service/impl/BizTodoItemServiceImpl.java
  2. 24
      ruoyi-admin/src/main/java/com/ruoyi/system/controller/BaseRequisitioningOrderChildController.java
  3. 19
      ruoyi-admin/src/main/java/com/ruoyi/system/controller/BaseRequisitioningOrderController.java
  4. 17
      ruoyi-admin/src/main/java/com/ruoyi/system/domain/BaseRequisitioningOrder.java
  5. 61
      ruoyi-admin/src/main/java/com/ruoyi/system/domain/BaseRequisitioningOrderChild.java
  6. 32
      ruoyi-admin/src/main/java/com/ruoyi/system/mapper/BaseRequisitioningOrderChildMapper.java
  7. 44
      ruoyi-admin/src/main/java/com/ruoyi/system/mapper/BaseRequisitioningOrderMapper.java
  8. 18
      ruoyi-admin/src/main/java/com/ruoyi/system/service/IBaseRequisitioningOrderChildService.java
  9. 2
      ruoyi-admin/src/main/java/com/ruoyi/system/service/IBaseRequisitioningOrderService.java
  10. 20
      ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/BaseRequisitioningOrderChildServiceImpl.java
  11. 121
      ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/BaseRequisitioningOrderServiceImpl.java
  12. 95
      ruoyi-admin/src/main/resources/mapper/system/BaseRequisitioningOrderChildMapper.xml
  13. 176
      ruoyi-admin/src/main/resources/mapper/system/BaseRequisitioningOrderMapper.xml
  14. 10
      ruoyi-admin/src/main/resources/templates/system/requesitioningChild/add.html
  15. 10
      ruoyi-admin/src/main/resources/templates/system/requesitioningChild/edit.html
  16. 16
      ruoyi-admin/src/main/resources/templates/system/requesitioningChild/requesitioningChild.html
  17. 56
      ruoyi-admin/src/main/resources/templates/system/requisitioning/add.html
  18. 18
      ruoyi-admin/src/main/resources/templates/system/requisitioning/detail.html
  19. 27
      ruoyi-admin/src/main/resources/templates/system/requisitioning/edit.html
  20. 64
      ruoyi-admin/src/main/resources/templates/system/requisitioning/requisitioning.html
  21. 40
      ruoyi-admin/src/main/resources/templates/system/requisitioning/taksFzjlVerify.html
  22. 180
      ruoyi-admin/src/main/resources/templates/system/requisitioning/taskFzjlVerify.html
  23. 237
      ruoyi-admin/src/main/resources/templates/system/requisitioning/taskModifyApply.html
  24. 106
      ruoyi-admin/src/main/resources/templates/system/requisitioning/taskQgjlVerify.html
  25. 171
      ruoyi-admin/src/main/resources/templates/system/requisitioning/taskQgzgVerify.html
  26. 234
      ruoyi-admin/src/main/resources/templates/system/requisitioning/taskZozjVerify.html

7
ruoyi-activiti/src/main/java/com/ruoyi/process/todoitem/service/impl/BizTodoItemServiceImpl.java

@ -183,6 +183,7 @@ public class BizTodoItemServiceImpl implements IBizTodoItemService {
} else { } else {
// 查询候选用户组,系统用户角色视图,group是角色 // 查询候选用户组,系统用户角色视图,group是角色
List<String> todoUserIdList = bizTodoItemMapper.selectTodoUserListByTaskId(task.getId()); List<String> todoUserIdList = bizTodoItemMapper.selectTodoUserListByTaskId(task.getId());
//如果是查询初始化的
if (!CollectionUtils.isEmpty(todoUserIdList)) { if (!CollectionUtils.isEmpty(todoUserIdList)) {
for (String todoUserId: todoUserIdList) { for (String todoUserId: todoUserIdList) {
SysUser todoUser = userMapper.selectUserByLoginName(todoUserId); SysUser todoUser = userMapper.selectUserByLoginName(todoUserId);
@ -206,6 +207,8 @@ public class BizTodoItemServiceImpl implements IBizTodoItemService {
} }
@Override @Override
public int insertTodoItem2(String instanceId, String itemName, String itemContent, String module) { public int insertTodoItem2(String instanceId, String itemName, String itemContent, String module) {
//获取当前请购人的部分信息,需要获取到的为当前节点,申请人,采购员,采购经理
//查询待办项目
BizTodoItem todoItem = new BizTodoItem(); BizTodoItem todoItem = new BizTodoItem();
todoItem.setItemName(itemName); todoItem.setItemName(itemName);
todoItem.setItemContent(itemContent); todoItem.setItemContent(itemContent);
@ -286,17 +289,16 @@ public class BizTodoItemServiceImpl implements IBizTodoItemService {
List<Task> taskList = taskService.createTaskQuery().processInstanceId(instanceId).active().list(); List<Task> taskList = taskService.createTaskQuery().processInstanceId(instanceId).active().list();
int counter = 0; int counter = 0;
for (Task task: taskList) { for (Task task: taskList) {
// todoitem 去重 // todoitem 去重
List<BizTodoItem> bizTodoItem = bizTodoItemMapper.selectTodoItemByTaskId(task.getId(),"0"); List<BizTodoItem> bizTodoItem = bizTodoItemMapper.selectTodoItemByTaskId(task.getId(),"0");
if (bizTodoItem != null) continue; if (bizTodoItem != null) continue;
BizTodoItem newItem = new BizTodoItem(); BizTodoItem newItem = new BizTodoItem();
BeanUtils.copyProperties(todoItem, newItem); BeanUtils.copyProperties(todoItem, newItem);
newItem.setInstanceId(instanceId); newItem.setInstanceId(instanceId);
newItem.setTaskId(task.getId()); newItem.setTaskId(task.getId());
newItem.setTaskName("task" + task.getTaskDefinitionKey().substring(0, 1).toUpperCase() + task.getTaskDefinitionKey().substring(1)); newItem.setTaskName("task" + task.getTaskDefinitionKey().substring(0, 1).toUpperCase() + task.getTaskDefinitionKey().substring(1));
newItem.setNodeName(task.getName()); newItem.setNodeName(task.getName());
//如果获取代理人
String assignee = task.getAssignee(); String assignee = task.getAssignee();
if (StringUtils.isNotBlank(assignee)) { if (StringUtils.isNotBlank(assignee)) {
newItem.setTodoUserId(assignee); newItem.setTodoUserId(assignee);
@ -307,7 +309,6 @@ public class BizTodoItemServiceImpl implements IBizTodoItemService {
} else { } else {
List<String> todoUserIdList = processMapper.selectTodoUserListByTaskId(task.getId()); List<String> todoUserIdList = processMapper.selectTodoUserListByTaskId(task.getId());
System.out.println("todoUserIdList="+todoUserIdList); System.out.println("todoUserIdList="+todoUserIdList);
for (String todoUserId: todoUserIdList) { for (String todoUserId: todoUserIdList) {
SysUser todoUser = userMapper.selectUserByLoginName(todoUserId); SysUser todoUser = userMapper.selectUserByLoginName(todoUserId);
newItem.setTodoUserId(todoUser.getLoginName()); newItem.setTodoUserId(todoUser.getLoginName());

24
ruoyi-admin/src/main/java/com/ruoyi/system/controller/BaseRequisitioningOrderChildController.java

@ -26,25 +26,25 @@ import com.ruoyi.common.core.page.TableDataInfo;
* @date 2024-05-13 * @date 2024-05-13
*/ */
@Controller @Controller
@RequestMapping("/system/requesitioningChild") @RequestMapping("/system/requisitioningChild")
public class BaseRequisitioningOrderChildController extends BaseController public class BaseRequisitioningOrderChildController extends BaseController
{ {
private String prefix = "system/requesitioningChild"; private String prefix = "system/requisitioningChild";
@Autowired @Autowired
private IBaseRequisitioningOrderChildService baseRequisitioningOrderChildService; private IBaseRequisitioningOrderChildService baseRequisitioningOrderChildService;
// @RequiresPermissions("system:requesitioningChild:view") // @RequiresPermissions("system:requisitioningChild:view")
@GetMapping() @GetMapping()
public String requesitioningChild() public String requisitioningChild()
{ {
return prefix + "/requesitioningChild"; return prefix + "/requisitioningChild";
} }
/** /**
* 查询请购单列表 * 查询请购单列表
*/ */
@RequiresPermissions("system:requesitioningChild:list") // @RequiresPermissions("system:requisitioningChild:list")
@PostMapping("/list") @PostMapping("/list")
@ResponseBody @ResponseBody
public TableDataInfo list(BaseRequisitioningOrderChild baseRequisitioningOrderChild) public TableDataInfo list(BaseRequisitioningOrderChild baseRequisitioningOrderChild)
@ -57,7 +57,7 @@ public class BaseRequisitioningOrderChildController extends BaseController
/** /**
* 导出请购单列表 * 导出请购单列表
*/ */
// @RequiresPermissions("system:requesitioningChild:export") // @RequiresPermissions("system:requisitioninggChild:export")
@Log(title = "请购单", businessType = BusinessType.EXPORT) @Log(title = "请购单", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
@ResponseBody @ResponseBody
@ -80,7 +80,7 @@ public class BaseRequisitioningOrderChildController extends BaseController
/** /**
* 新增保存请购单 * 新增保存请购单
*/ */
// @RequiresPermissions("system:requesitioningChild:add") // @RequiresPermissions("system:requisitioninggChild:add")
@Log(title = "请购单", businessType = BusinessType.INSERT) @Log(title = "请购单", businessType = BusinessType.INSERT)
@PostMapping("/add") @PostMapping("/add")
@ResponseBody @ResponseBody
@ -103,7 +103,7 @@ public class BaseRequisitioningOrderChildController extends BaseController
/** /**
* 修改保存请购单 * 修改保存请购单
*/ */
// @RequiresPermissions("system:requesitioningChild:edit") // @RequiresPermissions("system:requisitioningChild:edit")
@Log(title = "请购单", businessType = BusinessType.UPDATE) @Log(title = "请购单", businessType = BusinessType.UPDATE)
@PostMapping("/edit") @PostMapping("/edit")
@ResponseBody @ResponseBody
@ -115,7 +115,7 @@ public class BaseRequisitioningOrderChildController extends BaseController
/** /**
* 删除请购单 * 删除请购单
*/ */
// @RequiresPermissions("system:requesitioningChild:remove") // @RequiresPermissions("system:requisitioningChild:remove")
@Log(title = "请购单", businessType = BusinessType.DELETE) @Log(title = "请购单", businessType = BusinessType.DELETE)
@PostMapping( "/remove") @PostMapping( "/remove")
@ResponseBody @ResponseBody
@ -127,7 +127,7 @@ public class BaseRequisitioningOrderChildController extends BaseController
/** /**
* 作废请购单 * 作废请购单
*/ */
// @RequiresPermissions("system:requesitioningChild:cancel") // @RequiresPermissions("system:requisitioningChild:cancel")
@Log(title = "请购单", businessType = BusinessType.CANCEL) @Log(title = "请购单", businessType = BusinessType.CANCEL)
@GetMapping( "/cancel/{id}") @GetMapping( "/cancel/{id}")
@ResponseBody @ResponseBody
@ -138,7 +138,7 @@ public class BaseRequisitioningOrderChildController extends BaseController
/** /**
* 恢复请购单 * 恢复请购单
*/ */
// @RequiresPermissions("system:requesitioningChild:restore") // @RequiresPermissions("system:requisitioningChild:restore")
@Log(title = "请购单", businessType = BusinessType.RESTORE) @Log(title = "请购单", businessType = BusinessType.RESTORE)
@GetMapping( "/restore/{id}") @GetMapping( "/restore/{id}")
@ResponseBody @ResponseBody

19
ruoyi-admin/src/main/java/com/ruoyi/system/controller/BaseRequisitioningOrderController.java

@ -7,6 +7,7 @@ import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.ruoyi.ck.utils.Result;
import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.exception.base.BaseException;
@ -147,7 +148,10 @@ public class BaseRequisitioningOrderController extends BaseController
@ResponseBody @ResponseBody
public AjaxResult addSave(@RequestBody BaseRequisitioningOrder baseRequisitioningOrder) public AjaxResult addSave(@RequestBody BaseRequisitioningOrder baseRequisitioningOrder)
{ {
baseRequisitioningOrderService.insertBaseRequisitioningOrder(baseRequisitioningOrder); baseRequisitioningOrder.setCreateBy(ShiroUtils.getLoginName());
baseRequisitioningOrder.setUseStatus("0");
baseRequisitioningOrder.setAuditStatus("0");
baseRequisitioningOrderService.submitApply(baseRequisitioningOrder);
return AjaxResult.success(); return AjaxResult.success();
} }
@ -171,7 +175,11 @@ public class BaseRequisitioningOrderController extends BaseController
@ResponseBody @ResponseBody
public AjaxResult editSave(@RequestBody BaseRequisitioningOrder baseRequisitioningOrder) public AjaxResult editSave(@RequestBody BaseRequisitioningOrder baseRequisitioningOrder)
{ {
return toAjax(baseRequisitioningOrderService.updateBaseRequisitioningOrder(baseRequisitioningOrder)); baseRequisitioningOrder.setCreateBy(ShiroUtils.getLoginName());
baseRequisitioningOrder.setUseStatus("0");
baseRequisitioningOrder.setAuditStatus("0");
baseRequisitioningOrderService.submitApply(baseRequisitioningOrder);
return AjaxResult.success();
} }
/** /**
@ -220,7 +228,7 @@ public class BaseRequisitioningOrderController extends BaseController
SysDept dept = sysDeptMapper.selectDeptById(curUser.getDeptId()); SysDept dept = sysDeptMapper.selectDeptById(curUser.getDeptId());
String postName = ""; String postName = "";
String deptName = ""; String deptName = "";
if(sysPostList.size() <= 0){ if(sysPostList.size() == 0){
deptName = dept.getDeptName(); deptName = dept.getDeptName();
}else{ }else{
postName = sysPostList.get(0).getPostName(); postName = sysPostList.get(0).getPostName();
@ -317,4 +325,9 @@ public class BaseRequisitioningOrderController extends BaseController
return success("任务已完成"); return success("任务已完成");
} }
@GetMapping("/getId")
@ResponseBody
public Result getId(HttpServletRequest request) throws Exception {
return Result.getSuccessResult(baseRequisitioningOrderService.getId());
}
} }

17
ruoyi-admin/src/main/java/com/ruoyi/system/domain/BaseRequisitioningOrder.java

@ -42,7 +42,7 @@ public class BaseRequisitioningOrder extends BaseEntity
/** 物料合计 */ /** 物料合计 */
@Excel(name = "物料合计") @Excel(name = "物料合计")
private Long materialAmount; private Integer materialAmount;
/** 数量总计 */ /** 数量总计 */
@Excel(name = "数量总计") @Excel(name = "数量总计")
@ -87,12 +87,23 @@ public class BaseRequisitioningOrder extends BaseEntity
/** 申请人 */ /** 申请人 */
private String applyTitle; private String applyTitle;
private String delFlag;
/** 申请时间 */ /** 申请时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date applyTime; private Date applyTime;
private List<BaseRequisitioningOrderChild> baseRequisitioningOrderChildList; private List<BaseRequisitioningOrderChild> baseRequisitioningOrderChildList;
public String getDelFlag() {
return delFlag;
}
public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}
public String getInstanceId() { public String getInstanceId() {
return instanceId; return instanceId;
} }
@ -227,12 +238,12 @@ public class BaseRequisitioningOrder extends BaseEntity
{ {
return correlationCode; return correlationCode;
} }
public void setMaterialAmount(Long materialAmount) public void setMaterialAmount(Integer materialAmount)
{ {
this.materialAmount = materialAmount; this.materialAmount = materialAmount;
} }
public Long getMaterialAmount() public Integer getMaterialAmount()
{ {
return materialAmount; return materialAmount;
} }

61
ruoyi-admin/src/main/java/com/ruoyi/system/domain/BaseRequisitioningOrderChild.java

@ -22,7 +22,7 @@ public class BaseRequisitioningOrderChild extends BaseEntity
/** 关联请购单编号字段 */ /** 关联请购单编号字段 */
@Excel(name = "关联请购单编号字段") @Excel(name = "关联请购单编号字段")
private String quoteId; private String requisitioningCode;
/** 物料表中的id */ /** 物料表中的id */
@Excel(name = "物料表中的id") @Excel(name = "物料表中的id")
@ -56,10 +56,17 @@ public class BaseRequisitioningOrderChild extends BaseEntity
@Excel(name = "物料的品牌") @Excel(name = "物料的品牌")
private String brand; private String brand;
/** 物料的单位 */
@Excel(name = "物料的单位")
private String unit;
/** 物料的描述 */ /** 物料的描述 */
@Excel(name = "物料的描述") @Excel(name = "物料的描述")
private String describe; private String describe;
@Excel(name = "入库部门")
private String warehouseDept;
/** 物料的数量 */ /** 物料的数量 */
@Excel(name = "物料的数量") @Excel(name = "物料的数量")
private Long materialNum; private Long materialNum;
@ -88,7 +95,18 @@ public class BaseRequisitioningOrderChild extends BaseEntity
@Excel(name = "审核状态") @Excel(name = "审核状态")
private String auditStatus; private String auditStatus;
public void setRequisitioningChildId(Long requisitioningChildId) private String delFlag;
public String getDelFlag() {
return delFlag;
}
public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}
public void setRequisitioningChildId(Long requisitioningChildId)
{ {
this.requisitioningChildId = requisitioningChildId; this.requisitioningChildId = requisitioningChildId;
} }
@ -97,16 +115,16 @@ public class BaseRequisitioningOrderChild extends BaseEntity
{ {
return requisitioningChildId; return requisitioningChildId;
} }
public void setQuoteId(String quoteId)
{ public String getRequisitioningCode() {
this.quoteId = quoteId; return requisitioningCode;
} }
public String getQuoteId() public void setRequisitioningCode(String requisitioningCode) {
{ this.requisitioningCode = requisitioningCode;
return quoteId;
} }
public void setMaterialId(Long materialId)
public void setMaterialId(Long materialId)
{ {
this.materialId = materialId; this.materialId = materialId;
} }
@ -187,12 +205,29 @@ public class BaseRequisitioningOrderChild extends BaseEntity
{ {
return describe; return describe;
} }
public void setMaterialNum(Long materialNum)
public String getUnit() {
return unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
public void setMaterialNum(Long materialNum)
{ {
this.materialNum = materialNum; this.materialNum = materialNum;
} }
public Long getMaterialNum() public String getWarehouseDept() {
return warehouseDept;
}
public void setWarehouseDept(String warehouseDept) {
this.warehouseDept = warehouseDept;
}
public Long getMaterialNum()
{ {
return materialNum; return materialNum;
} }
@ -255,7 +290,7 @@ public class BaseRequisitioningOrderChild extends BaseEntity
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("requisitioningChildId", getRequisitioningChildId()) .append("requisitioningChildId", getRequisitioningChildId())
.append("quoteId", getQuoteId()) .append("requisitioningCode", getRequisitioningCode())
.append("materialId", getMaterialId()) .append("materialId", getMaterialId())
.append("materialCode", getMaterialCode()) .append("materialCode", getMaterialCode())
.append("photoUrl", getPhotoUrl()) .append("photoUrl", getPhotoUrl())
@ -264,6 +299,8 @@ public class BaseRequisitioningOrderChild extends BaseEntity
.append("materialModel", getMaterialModel()) .append("materialModel", getMaterialModel())
.append("specifications", getSpecifications()) .append("specifications", getSpecifications())
.append("brand", getBrand()) .append("brand", getBrand())
.append("unit", getUnit())
.append("warehouseDept", getWarehouseDept())
.append("describe", getDescribe()) .append("describe", getDescribe())
.append("materialNum", getMaterialNum()) .append("materialNum", getMaterialNum())
.append("materialRmb", getMaterialRmb()) .append("materialRmb", getMaterialRmb())

32
ruoyi-admin/src/main/java/com/ruoyi/system/mapper/BaseRequisitioningOrderChildMapper.java

@ -75,8 +75,36 @@ public interface BaseRequisitioningOrderChildMapper
*/ */
public int restoreBaseRequisitioningOrderChildById(Long requisitioningChildId); public int restoreBaseRequisitioningOrderChildById(Long requisitioningChildId);
/**
* 根据请购单号删除请购单
* @param requisitioningCode 请购单号
* @return
*/
public int deleteBaseRequisitioningOrderChildByRequisitioningCode(String requisitioningCode);
/**
* 根据请购单号批量删除请购单
* @param requisitioningCodes 请购单号组
* @return
*/
public int deleteBaseRequisitioningOrderChildByRequisitioningCodes(String[] requisitioningCodes);
public int deleteBaseRequisitioningOrderChildByQuoteId(String quoteId); /**
* 根据请购单号批量修改请购单是否删除
* @param delFlag 0 未删除 1 已删除
* @param requisitioningCodes 请购单号组
* @return
*/
public int updateBaseRequisitioningOrderChildByRequisitioningCodes(String delFlag,String[] requisitioningCodes);
/**
* 根据请购单号修改请购单是否删除
* @param delFlag 0 未删除 1 已删除
* @param requisitioningCode 请购单号
* @return
*/
public int deleteBaseRequisitioningOrderChildByQuoteIds(String[] quoteIds); public int updateBaseRequisitioningOrderChildByRequisitioningCode(String delFlag,String requisitioningCode);
} }

44
ruoyi-admin/src/main/java/com/ruoyi/system/mapper/BaseRequisitioningOrderMapper.java

@ -3,6 +3,7 @@ package com.ruoyi.system.mapper;
import java.util.List; import java.util.List;
import com.ruoyi.system.domain.BaseRequisitioningOrder; import com.ruoyi.system.domain.BaseRequisitioningOrder;
import com.ruoyi.system.domain.Vo.BaseRequisitioningOrderVo; import com.ruoyi.system.domain.Vo.BaseRequisitioningOrderVo;
import io.swagger.models.auth.In;
/** /**
* 请购单Mapper接口 * 请购单Mapper接口
@ -76,9 +77,46 @@ public interface BaseRequisitioningOrderMapper
* @param requisitioningId 请购单ID * @param requisitioningId 请购单ID
* @return 结果 * @return 结果
*/ */
public int restoreBaseRequisitioningOrderById(Long requisitioningId); public Integer restoreBaseRequisitioningOrderById(Long requisitioningId);
int deleteBaseRequisitioningOrderByCode(String requisitioningCode); /**
* 根据编码删除请购单
* @param requisitioningCode
* @return
*/
Integer deleteBaseRequisitioningOrderByCode(String requisitioningCode);
List<BaseRequisitioningOrder> selectBaseRequisitioningOrderByIds(String[] ids); /**
* 根据编码批量删除请购单
* @param requisitioningCodes
* @return
*/
Integer deleteBaseRequisitioningOrderByCodes(String[] requisitioningCodes);
/**
* 根据编码批量修改请购单
* @param delFlag 0 未删除 1 已删除
* @param requisitioningCodes
* @return
*/
Integer updateBaseRequisitioningOrderByCodes(String delFlag,String[] requisitioningCodes);
/**
* 根据编码修改请购单
* @param delFlag
* @param requisitioningCode
* @return
*/
Integer updateBaseRequisitioningOrderByCode(String delFlag,String requisitioningCode);
/**
* 根据id批量查询请购单
* @param ids
* @return
*/
List<BaseRequisitioningOrder> selectBaseRequisitioningOrderByIds(String[] ids);
} }

18
ruoyi-admin/src/main/java/com/ruoyi/system/service/IBaseRequisitioningOrderChildService.java

@ -9,7 +9,7 @@ import com.ruoyi.system.domain.BaseRequisitioningOrderChild;
* @author zhang * @author zhang
* @date 2024-05-13 * @date 2024-05-13
*/ */
public interface IBaseRequisitioningOrderChildService public interface IBaseRequisitioningOrderChildService
{ {
/** /**
* 查询请购单 * 查询请购单
@ -33,7 +33,7 @@ public interface IBaseRequisitioningOrderChildService
* @param baseRequisitioningOrderChild 请购单 * @param baseRequisitioningOrderChild 请购单
* @return 结果 * @return 结果
*/ */
public int insertBaseRequisitioningOrderChild(BaseRequisitioningOrderChild baseRequisitioningOrderChild); public Integer insertBaseRequisitioningOrderChild(BaseRequisitioningOrderChild baseRequisitioningOrderChild);
/** /**
* 修改请购单 * 修改请购单
@ -41,7 +41,7 @@ public interface IBaseRequisitioningOrderChildService
* @param baseRequisitioningOrderChild 请购单 * @param baseRequisitioningOrderChild 请购单
* @return 结果 * @return 结果
*/ */
public int updateBaseRequisitioningOrderChild(BaseRequisitioningOrderChild baseRequisitioningOrderChild); public Integer updateBaseRequisitioningOrderChild(BaseRequisitioningOrderChild baseRequisitioningOrderChild);
/** /**
* 批量删除请购单 * 批量删除请购单
@ -49,7 +49,7 @@ public interface IBaseRequisitioningOrderChildService
* @param ids 需要删除的数据ID * @param ids 需要删除的数据ID
* @return 结果 * @return 结果
*/ */
public int deleteBaseRequisitioningOrderChildByIds(String ids); public Integer deleteBaseRequisitioningOrderChildByIds(String ids);
/** /**
* 删除请购单信息 * 删除请购单信息
@ -57,23 +57,23 @@ public interface IBaseRequisitioningOrderChildService
* @param requisitioningChildId 请购单ID * @param requisitioningChildId 请购单ID
* @return 结果 * @return 结果
*/ */
public int deleteBaseRequisitioningOrderChildById(Long requisitioningChildId); public Integer deleteBaseRequisitioningOrderChildById(Long requisitioningChildId);
/** /**
* 作废请购单 * 作废请购单
* @param requisitioningChildId 请购单ID * @param requisitioningChildId 请购单ID
* @return * @return
*/ */
int cancelBaseRequisitioningOrderChildById(Long requisitioningChildId); Integer cancelBaseRequisitioningOrderChildById(Long requisitioningChildId);
/** /**
* 恢复请购单 * 恢复请购单
* @param requisitioningChildId 请购单ID * @param requisitioningChildId 请购单ID
* @return * @return
*/ */
int restoreBaseRequisitioningOrderChildById(Long requisitioningChildId); Integer restoreBaseRequisitioningOrderChildById(Long requisitioningChildId);
int deleteBaseRequisitioningOrderChildByQuoteId(String quoteId); Integer deleteBaseRequisitioningOrderChildByRequisitioningCode(String requisitioningCode);
int deleteBaseRequisitioningOrderChildByQuoteIds(String quoteIds); Integer deleteBaseRequisitioningOrderChildByRequisitioningCodes(String requisitioningCodes);
} }

2
ruoyi-admin/src/main/java/com/ruoyi/system/service/IBaseRequisitioningOrderService.java

@ -95,4 +95,6 @@ public interface IBaseRequisitioningOrderService
* 提交申请*/ * 提交申请*/
public ProcessInstance submitApply(BaseRequisitioningOrder baseRequisitioningOrder); public ProcessInstance submitApply(BaseRequisitioningOrder baseRequisitioningOrder);
Object getRequisitioningOrder();
} }

20
ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/BaseRequisitioningOrderChildServiceImpl.java

@ -53,7 +53,7 @@ public class BaseRequisitioningOrderChildServiceImpl implements IBaseRequisition
* @return 结果 * @return 结果
*/ */
@Override @Override
public int insertBaseRequisitioningOrderChild(BaseRequisitioningOrderChild baseRequisitioningOrderChild) public Integer insertBaseRequisitioningOrderChild(BaseRequisitioningOrderChild baseRequisitioningOrderChild)
{ {
String loginName = ShiroUtils.getLoginName(); String loginName = ShiroUtils.getLoginName();
baseRequisitioningOrderChild.setCreateBy(loginName); baseRequisitioningOrderChild.setCreateBy(loginName);
@ -68,7 +68,7 @@ public class BaseRequisitioningOrderChildServiceImpl implements IBaseRequisition
* @return 结果 * @return 结果
*/ */
@Override @Override
public int updateBaseRequisitioningOrderChild(BaseRequisitioningOrderChild baseRequisitioningOrderChild) public Integer updateBaseRequisitioningOrderChild(BaseRequisitioningOrderChild baseRequisitioningOrderChild)
{ {
String loginName = ShiroUtils.getLoginName(); String loginName = ShiroUtils.getLoginName();
baseRequisitioningOrderChild.setUpdateBy(loginName); baseRequisitioningOrderChild.setUpdateBy(loginName);
@ -83,7 +83,7 @@ public class BaseRequisitioningOrderChildServiceImpl implements IBaseRequisition
* @return 结果 * @return 结果
*/ */
@Override @Override
public int deleteBaseRequisitioningOrderChildByIds(String ids) public Integer deleteBaseRequisitioningOrderChildByIds(String ids)
{ {
return baseRequisitioningOrderChildMapper.deleteBaseRequisitioningOrderChildByIds(Convert.toStrArray(ids)); return baseRequisitioningOrderChildMapper.deleteBaseRequisitioningOrderChildByIds(Convert.toStrArray(ids));
} }
@ -95,7 +95,7 @@ public class BaseRequisitioningOrderChildServiceImpl implements IBaseRequisition
* @return 结果 * @return 结果
*/ */
@Override @Override
public int deleteBaseRequisitioningOrderChildById(Long requisitioningChildId) public Integer deleteBaseRequisitioningOrderChildById(Long requisitioningChildId)
{ {
return baseRequisitioningOrderChildMapper.deleteBaseRequisitioningOrderChildById(requisitioningChildId); return baseRequisitioningOrderChildMapper.deleteBaseRequisitioningOrderChildById(requisitioningChildId);
} }
@ -107,7 +107,7 @@ public class BaseRequisitioningOrderChildServiceImpl implements IBaseRequisition
* @return 结果 * @return 结果
*/ */
@Override @Override
public int cancelBaseRequisitioningOrderChildById(Long requisitioningChildId) public Integer cancelBaseRequisitioningOrderChildById(Long requisitioningChildId)
{ {
return baseRequisitioningOrderChildMapper.cancelBaseRequisitioningOrderChildById(requisitioningChildId); return baseRequisitioningOrderChildMapper.cancelBaseRequisitioningOrderChildById(requisitioningChildId);
} }
@ -119,17 +119,17 @@ public class BaseRequisitioningOrderChildServiceImpl implements IBaseRequisition
* @return 结果 * @return 结果
*/ */
@Override @Override
public int restoreBaseRequisitioningOrderChildById(Long requisitioningChildId) public Integer restoreBaseRequisitioningOrderChildById(Long requisitioningChildId)
{ {
return baseRequisitioningOrderChildMapper.restoreBaseRequisitioningOrderChildById(requisitioningChildId); return baseRequisitioningOrderChildMapper.restoreBaseRequisitioningOrderChildById(requisitioningChildId);
} }
@Override @Override
public int deleteBaseRequisitioningOrderChildByQuoteId(String quoteId) { public Integer deleteBaseRequisitioningOrderChildByRequisitioningCode(String requisitioningCode) {
return baseRequisitioningOrderChildMapper.deleteBaseRequisitioningOrderChildByQuoteId(quoteId); return baseRequisitioningOrderChildMapper.deleteBaseRequisitioningOrderChildByRequisitioningCode(requisitioningCode);
} }
@Override @Override
public int deleteBaseRequisitioningOrderChildByQuoteIds(String quoteIds) { public Integer deleteBaseRequisitioningOrderChildByRequisitioningCodes(String requisitioningCodes) {
return baseRequisitioningOrderChildMapper.deleteBaseRequisitioningOrderChildByQuoteIds(Convert.toStrArray(quoteIds)); return baseRequisitioningOrderChildMapper.deleteBaseRequisitioningOrderChildByRequisitioningCodes(Convert.toStrArray(requisitioningCodes));
} }
} }

121
ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/BaseRequisitioningOrderServiceImpl.java

@ -38,6 +38,7 @@ import com.ruoyi.system.service.IBaseRequisitioningOrderService;
import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.core.text.Convert;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
/** /**
* 请购单Service业务层处理 * 请购单Service业务层处理
@ -57,6 +58,7 @@ public class BaseRequisitioningOrderServiceImpl implements IBaseRequisitioningOr
@Autowired @Autowired
private RedisCache redisCache; private RedisCache redisCache;
@Autowired
private ISysRoleService roleService; private ISysRoleService roleService;
@Autowired @Autowired
@ -180,23 +182,30 @@ public class BaseRequisitioningOrderServiceImpl implements IBaseRequisitioningOr
for (BaseRequisitioningOrderChild child : childList) { for (BaseRequisitioningOrderChild child : childList) {
//物料数量 //物料数量
materialSum += child.getMaterialNum(); materialSum += child.getMaterialNum();
if (child.getMaterialRmbSum() == null){
child.setMaterialRmbSum(new BigDecimal(0));
}
if (child.getMaterialNoRmbSum() == null){
child.setMaterialNoRmbSum(new BigDecimal(0));
}
//物料不含税总价(RMB) //物料不含税总价(RMB)
materialRmbSum = child.getMaterialRmbSum().setScale(2, RoundingMode.HALF_UP).add(materialNoRmbSum); materialRmbSum = child.getMaterialRmbSum().setScale(2, RoundingMode.HALF_UP).add(materialNoRmbSum);
//物料含税总价(RMB) //物料含税总价(RMB)
materialNoRmbSum = child.getMaterialNoRmbSum().setScale(2, RoundingMode.HALF_UP).add(materialNoRmbSum); materialNoRmbSum = child.getMaterialNoRmbSum().setScale(2, RoundingMode.HALF_UP).add(materialNoRmbSum);
child.setQuoteId(baseRequisitioningOrder.getRequisitioningCode()); child.setRequisitioningCode(baseRequisitioningOrder.getRequisitioningCode());
child.setCreateBy(loginName); child.setCreateBy(loginName);
child.setCreateTime(DateUtils.getNowDate()); child.setCreateTime(DateUtils.getNowDate());
baseRequisitioningOrderChildMapper.insertBaseRequisitioningOrderChild(child); baseRequisitioningOrderChildMapper.insertBaseRequisitioningOrderChild(child);
} }
} }
baseRequisitioningOrder.setAuditStatus("1"); baseRequisitioningOrder.setMaterialAmount(childSize);
baseRequisitioningOrder.setUseStatus("1");
baseRequisitioningOrder.setMaterialAmount(Long.valueOf(childSize));
baseRequisitioningOrder.setMaterialSum(materialSum); baseRequisitioningOrder.setMaterialSum(materialSum);
baseRequisitioningOrder.setRmbSum(materialRmbSum); baseRequisitioningOrder.setRmbSum(materialRmbSum);
baseRequisitioningOrder.setNoRmbSum(materialNoRmbSum); baseRequisitioningOrder.setNoRmbSum(materialNoRmbSum);
return baseRequisitioningOrderMapper.insertBaseRequisitioningOrder(baseRequisitioningOrder); int result = baseRequisitioningOrderMapper.insertBaseRequisitioningOrder(baseRequisitioningOrder);
//如要获取请购单ID,作为key
baseRequisitioningOrder.getRequisitioningId();
return result;
} }
/** /**
@ -213,18 +222,21 @@ public class BaseRequisitioningOrderServiceImpl implements IBaseRequisitioningOr
baseRequisitioningOrder.setUpdateBy(loginName); baseRequisitioningOrder.setUpdateBy(loginName);
baseRequisitioningOrder.setUpdateTime(DateUtils.getNowDate()); baseRequisitioningOrder.setUpdateTime(DateUtils.getNowDate());
String requisitioningCode = baseRequisitioningOrder.getRequisitioningCode(); String requisitioningCode = baseRequisitioningOrder.getRequisitioningCode();
baseRequisitioningOrderChildMapper.deleteBaseRequisitioningOrderChildByQuoteId(baseRequisitioningOrder.getRequisitioningCode());
List<BaseRequisitioningOrderChild> childList = baseRequisitioningOrder.getBaseRequisitioningOrderChildList(); List<BaseRequisitioningOrderChild> childList = baseRequisitioningOrder.getBaseRequisitioningOrderChildList();
Long materialSum = 0L; Long materialSum = 0L;
BigDecimal materialRmbSum = new BigDecimal(0); BigDecimal materialRmbSum = new BigDecimal(0);
BigDecimal materialNoRmbSum = new BigDecimal(0); BigDecimal materialNoRmbSum = new BigDecimal(0);
int childSize = childList.size(); if(ObjectUtils.isEmpty(childList)) {
return 0;
}
Integer childSize = childList.size();
if (childSize > 0) { if (childSize > 0) {
baseRequisitioningOrderChildMapper.deleteBaseRequisitioningOrderChildByRequisitioningCode(baseRequisitioningOrder.getRequisitioningCode());
for (BaseRequisitioningOrderChild child: childList) { for (BaseRequisitioningOrderChild child: childList) {
materialSum += child.getMaterialNum(); materialSum += child.getMaterialNum();
materialRmbSum = child.getMaterialRmbSum().setScale(2, RoundingMode.HALF_UP).add(materialNoRmbSum); materialRmbSum = child.getMaterialRmbSum().setScale(2, RoundingMode.HALF_UP).add(materialNoRmbSum);
materialNoRmbSum = child.getMaterialNoRmbSum().setScale(2, RoundingMode.HALF_UP).add(materialNoRmbSum); materialNoRmbSum = child.getMaterialNoRmbSum().setScale(2, RoundingMode.HALF_UP).add(materialNoRmbSum);
child.setQuoteId(requisitioningCode); child.setRequisitioningCode(requisitioningCode);
child.setCreateBy(loginName); child.setCreateBy(loginName);
child.setCreateTime(DateUtils.getNowDate()); child.setCreateTime(DateUtils.getNowDate());
child.setUpdateBy(loginName); child.setUpdateBy(loginName);
@ -232,9 +244,7 @@ public class BaseRequisitioningOrderServiceImpl implements IBaseRequisitioningOr
baseRequisitioningOrderChildMapper.insertBaseRequisitioningOrderChild(child); baseRequisitioningOrderChildMapper.insertBaseRequisitioningOrderChild(child);
} }
} }
baseRequisitioningOrder.setAuditStatus("1"); baseRequisitioningOrder.setMaterialAmount(childSize);
baseRequisitioningOrder.setUseStatus("1");
baseRequisitioningOrder.setMaterialAmount(Long.valueOf(childSize));
baseRequisitioningOrder.setMaterialSum(materialSum); baseRequisitioningOrder.setMaterialSum(materialSum);
baseRequisitioningOrder.setRmbSum(materialRmbSum); baseRequisitioningOrder.setRmbSum(materialRmbSum);
baseRequisitioningOrder.setNoRmbSum(materialNoRmbSum); baseRequisitioningOrder.setNoRmbSum(materialNoRmbSum);
@ -291,7 +301,7 @@ public class BaseRequisitioningOrderServiceImpl implements IBaseRequisitioningOr
@Override @Override
public int deleteBaseRequisitioningOrderByCode(String requisitioningCode) { public int deleteBaseRequisitioningOrderByCode(String requisitioningCode) {
baseRequisitioningOrderChildMapper.deleteBaseRequisitioningOrderChildByQuoteId(requisitioningCode); baseRequisitioningOrderChildMapper.deleteBaseRequisitioningOrderChildByRequisitioningCode(requisitioningCode);
return baseRequisitioningOrderMapper.deleteBaseRequisitioningOrderByCode(requisitioningCode); return baseRequisitioningOrderMapper.deleteBaseRequisitioningOrderByCode(requisitioningCode);
} }
@Override @Override
@ -393,12 +403,34 @@ public class BaseRequisitioningOrderServiceImpl implements IBaseRequisitioningOr
return processInstance; return processInstance;
} }
@Override
public Object getRequisitioningOrder() {
return redisCache.generateBillNo("QG");
}
private ProcessInstance startProcessInstance(String applyTitle,String instanceType,BaseRequisitioningOrder baseRequisitioningOrder, SysUser user) { private ProcessInstance startProcessInstance(String applyTitle,String instanceType,BaseRequisitioningOrder baseRequisitioningOrder, SysUser user) {
Long nessKey = baseRequisitioningOrder.getRequisitioningId(); Long nessKey = baseRequisitioningOrder.getRequisitioningId();
String businessKey = String.valueOf(nessKey); // 实体类 ID,作为流程的业务 key String businessKey = String.valueOf(nessKey);; // 实体类 ID,作为流程的业务 key
String key = "requsition"; String key = "requisitioning";
Map<String,Object> variables = new HashMap<>(); Map<String,Object> variables = new HashMap<>();
BigDecimal rmbSum = baseRequisitioningOrder.getRmbSum();
BigDecimal surpassPrice = new BigDecimal(3000.00);
int result = rmbSum.compareTo(surpassPrice);
Boolean surpass = false;
if (result > 0) {
surpass = true;
// rmbSum 大于 surpassPrice
variables.put("surpass",surpass);
} else if (result < 0) {
surpass = true;
// rmbSum 小于 surpassPrice
variables.put("surpass",surpass);
} else {
surpass = false;
// rmbSum 等于 surpassPrice
variables.put("surpass",surpass);
}
// 构造authority传参 // 构造authority传参
buildAuthority(user, variables); buildAuthority(user, variables);
baseRequisitioningOrder.setApplyTitle(applyTitle); baseRequisitioningOrder.setApplyTitle(applyTitle);
@ -411,22 +443,53 @@ public class BaseRequisitioningOrderServiceImpl implements IBaseRequisitioningOr
} }
private void buildAuthority(SysUser user, Map<String, Object> variables) { private void buildAuthority(SysUser user, Map<String, Object> variables) {
System.out.println("请购单启动流程");
System.out.println("user = " + user + ", variables = " + variables);
//查询当前请购人的角色
Set<String> roleKeys = roleService.selectRoleKeys(user.getUserId()); Set<String> roleKeys = roleService.selectRoleKeys(user.getUserId());
if(roleKeys.contains("zg")){
// 超级管理员 variables.put("authority",1);
variables.put("authority",1); //判断请购人的角色,进入相应的逻辑,设置节点审批人变量
} if(roleKeys.contains("ywyRole") || roleKeys.contains("ywjlRole") || roleKeys.contains("ywzgRole")){
if(roleKeys.contains("cg")){ // 业务经理
if(roleKeys.contains("cg_zj")){ variables.put("qgjlRole","ywjlRole");
// 采购主管 // 业务主管
variables.put("authority",2); variables.put("qgzgRole","ywzgRole");
}else{ }else if(roleKeys.contains("cgyRole") || roleKeys.contains("cgjlRole") || roleKeys.contains("cgzgRole")){
// 采购员 // 采购经理
variables.put("authority",3); variables.put("qgjlRole","cgjlRole");
} // 采购主管
variables.put("qgzgRole","cgzgRole");
}else if (roleKeys.contains("gcwyRole") || roleKeys.contains("gcjlRole") || roleKeys.contains("gczgRole")){
// 工程经理
variables.put("qgjlRole","gcjlRole");
// 工程主管
variables.put("qgzgRole","gczgRole");
} else if (roleKeys.contains("scyRole") || roleKeys.contains("scjlRole") || roleKeys.contains("sczgRole")){
// 生产经理
variables.put("qgjlRole","scjlRoe");
// 生产主管
variables.put("qgzgRole","sczgRole");
}else if (roleKeys.contains("shgcsRole") || roleKeys.contains("shjlRole") || roleKeys.contains("shzgRole")){
// 售后经理
variables.put("qgjlRole","shjlRole");
// 售后主管
variables.put("qgzgRole","shzgRole");
}else if(roleKeys.contains("cgyyRole") || roleKeys.contains("ckzgRole")){
variables.put("qgjlRole","shzgRole");
// 售后主管
variables.put("qgzgRole","shzgRole");
}else if (roleKeys.contains("cwRole") || roleKeys.contains("cwjlRole")){
variables.put("qgjlRole","cwjlRole");
// 售后主管
variables.put("qgzgRole","cwJlRole");
}else{
variables.put("authority",2);
} }
// 角色不同审核人不同 if(roleKeys.contains("admin") ){
variables.put("authority",1); // 角色包含业务经理、采购经理、工程经理、生产经理
variables.put("qgje",3000); variables.put("authority",2);
} }
}
} }

95
ruoyi-admin/src/main/resources/mapper/system/BaseRequisitioningOrderChildMapper.xml

@ -6,42 +6,45 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<resultMap type="BaseRequisitioningOrderChild" id="BaseRequisitioningOrderChildResult"> <resultMap type="BaseRequisitioningOrderChild" id="BaseRequisitioningOrderChildResult">
<result property="requisitioningChildId" column="requisitioning_child_id" /> <result property="requisitioningChildId" column="requisitioning_child_id" />
<result property="quoteId" column="quote_id" /> <result property="requisitioningCode" column="requisitioning_code" />
<result property="materialId" column="material_id" /> <result property="materialId" column="material_id" />
<result property="materialCode" column="material_code" /> <result property="materialCode" column="material_code" />
<result property="photoUrl" column="photoUrl" /> <result property="photoUrl" column="photoUrl" />
<result property="materialName" column="material_name" /> <result property="materialName" column="material_name" />
<result property="materialType" column="material_type" /> <result property="materialType" column="material_type" />
<result property="materialModel" column="material_model" /> <result property="materialModel" column="material_model" />
<result property="specifications" column="specifications" /> <result property="specifications" column="specifications" />
<result property="brand" column="brand" /> <result property="brand" column="brand" />
<result property="describe" column="describe" /> <result property="describe" column="describe" />
<result property="materialNum" column="materialNum" /> <result property="unit" column="unit" />
<result property="materialRmb" column="materialRmb" /> <result property="materialNum" column="materialNum" />
<result property="materialNoRmb" column="materialNoRmb" /> <result property="materialRmb" column="materialRmb" />
<result property="materialNoRmbSum" column="materialNoRmbSum" /> <result property="materialNoRmb" column="materialNoRmb" />
<result property="materialRmbSum" column="materialRmbSum" /> <result property="materialNoRmbSum" column="materialNoRmbSum" />
<result property="remark" column="remark" /> <result property="materialRmbSum" column="materialRmbSum" />
<result property="createBy" column="create_by" /> <result property="remark" column="remark" />
<result property="createTime" column="create_time" /> <result property="createBy" column="create_by" />
<result property="updateBy" column="update_by" /> <result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" /> <result property="updateBy" column="update_by" />
<result property="useStatus" column="use_status" /> <result property="updateTime" column="update_time" />
<result property="auditStatus" column="audit_status" /> <result property="useStatus" column="use_status" />
<result property="auditStatus" column="audit_status" />
<result property="delFlag" column="del_flag" />
</resultMap> </resultMap>
<sql id="selectBaseRequisitioningOrderChildVo"> <sql id="selectBaseRequisitioningOrderChildVo">
select requisitioning_child_id, quote_id, material_id, material_code, photoUrl, select requisitioning_child_id, requisitioning_code, material_id, material_code, photoUrl,
material_name, material_type, material_model, specifications, brand, material_name, material_type, material_model, specifications, brand,unit,warehouseDept,
`describe`, materialNum, materialRmb, materialNoRmb, materialNoRmbSum, materialRmbSum, remark, `describe`, materialNum, materialRmb, materialNoRmb, materialNoRmbSum, materialRmbSum, remark,
create_by, create_time, update_by, update_time, use_status, audit_status create_by, create_time, update_by, update_time, use_status, audit_status,del_flag
from base_requisitioning_order_child from base_requisitioning_order_child
</sql> </sql>
<select id="selectBaseRequisitioningOrderChildList" parameterType="BaseRequisitioningOrderChild" resultMap="BaseRequisitioningOrderChildResult"> <select id="selectBaseRequisitioningOrderChildList" parameterType="BaseRequisitioningOrderChild" resultMap="BaseRequisitioningOrderChildResult">
<include refid="selectBaseRequisitioningOrderChildVo"/> <include refid="selectBaseRequisitioningOrderChildVo"/>
<where> <where>
<if test="quoteId != null and quoteId != ''"> and quote_id = #{quoteId}</if> del_flag = '0'
<if test="requisitioningCode != null and requisitioningCode != ''"> and requisitioning_code = #{requisitioningCode}</if>
<if test="materialId != null "> and material_id = #{materialId}</if> <if test="materialId != null "> and material_id = #{materialId}</if>
<if test="materialCode != null and materialCode != ''"> and material_code = #{materialCode}</if> <if test="materialCode != null and materialCode != ''"> and material_code = #{materialCode}</if>
<if test="photoUrl != null and photoUrl != ''"> and photoUrl = #{photoUrl}</if> <if test="photoUrl != null and photoUrl != ''"> and photoUrl = #{photoUrl}</if>
@ -73,7 +76,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<insert id="insertBaseRequisitioningOrderChild" parameterType="BaseRequisitioningOrderChild" useGeneratedKeys="true" keyProperty="requisitioningChildId"> <insert id="insertBaseRequisitioningOrderChild" parameterType="BaseRequisitioningOrderChild" useGeneratedKeys="true" keyProperty="requisitioningChildId">
insert into base_requisitioning_order_child insert into base_requisitioning_order_child
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="quoteId != null">quote_id,</if> <if test="requisitioningCode != null">requisitioning_code,</if>
<if test="materialId != null">material_id,</if> <if test="materialId != null">material_id,</if>
<if test="materialCode != null">material_code,</if> <if test="materialCode != null">material_code,</if>
<if test="photoUrl != null">photoUrl,</if> <if test="photoUrl != null">photoUrl,</if>
@ -82,6 +85,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="materialModel != null">material_model,</if> <if test="materialModel != null">material_model,</if>
<if test="specifications != null">specifications,</if> <if test="specifications != null">specifications,</if>
<if test="brand != null">brand,</if> <if test="brand != null">brand,</if>
<if test="unit != null">unit,</if>
<if test="warehouseDept != null">warehouseDept,</if>
<if test="describe != null">`describe`,</if> <if test="describe != null">`describe`,</if>
<if test="materialNum != null">materialNum,</if> <if test="materialNum != null">materialNum,</if>
<if test="materialRmb != null">materialRmb,</if> <if test="materialRmb != null">materialRmb,</if>
@ -95,9 +100,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateTime != null">update_time,</if> <if test="updateTime != null">update_time,</if>
<if test="useStatus != null">use_status,</if> <if test="useStatus != null">use_status,</if>
<if test="auditStatus != null">audit_status,</if> <if test="auditStatus != null">audit_status,</if>
<if test="delFlag != null">del_flag,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="quoteId != null">#{quoteId},</if> <if test="requisitioningCode != null">#{requisitioningCode},</if>
<if test="materialId != null">#{materialId},</if> <if test="materialId != null">#{materialId},</if>
<if test="materialCode != null">#{materialCode},</if> <if test="materialCode != null">#{materialCode},</if>
<if test="photoUrl != null">#{photoUrl},</if> <if test="photoUrl != null">#{photoUrl},</if>
@ -106,6 +112,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="materialModel != null">#{materialModel},</if> <if test="materialModel != null">#{materialModel},</if>
<if test="specifications != null">#{specifications},</if> <if test="specifications != null">#{specifications},</if>
<if test="brand != null">#{brand},</if> <if test="brand != null">#{brand},</if>
<if test="unit != null">#{unit},</if>
<if test="warehouseDept != null">#{warehouseDept},</if>
<if test="describe != null">#{describe},</if> <if test="describe != null">#{describe},</if>
<if test="materialNum != null">#{materialNum},</if> <if test="materialNum != null">#{materialNum},</if>
<if test="materialRmb != null">#{materialRmb},</if> <if test="materialRmb != null">#{materialRmb},</if>
@ -119,13 +127,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateTime != null">#{updateTime},</if> <if test="updateTime != null">#{updateTime},</if>
<if test="useStatus != null">#{useStatus},</if> <if test="useStatus != null">#{useStatus},</if>
<if test="auditStatus != null">#{auditStatus},</if> <if test="auditStatus != null">#{auditStatus},</if>
<if test="delFlag != null">#{delFlag},</if>
</trim> </trim>
</insert> </insert>
<update id="updateBaseRequisitioningOrderChild" parameterType="BaseRequisitioningOrderChild"> <update id="updateBaseRequisitioningOrderChild" parameterType="BaseRequisitioningOrderChild">
update base_requisitioning_order_child update base_requisitioning_order_child
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
<if test="quoteId != null">quote_id = #{quoteId},</if> <if test="requisitioningCode != null">requisitioning_code = #{requisitioningCode},</if>
<if test="materialId != null">material_id = #{materialId},</if> <if test="materialId != null">material_id = #{materialId},</if>
<if test="materialCode != null">material_code = #{materialCode},</if> <if test="materialCode != null">material_code = #{materialCode},</if>
<if test="photoUrl != null">photoUrl = #{photoUrl},</if> <if test="photoUrl != null">photoUrl = #{photoUrl},</if>
@ -134,6 +143,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="materialModel != null">material_model = #{materialModel},</if> <if test="materialModel != null">material_model = #{materialModel},</if>
<if test="specifications != null">specifications = #{specifications},</if> <if test="specifications != null">specifications = #{specifications},</if>
<if test="brand != null">brand = #{brand},</if> <if test="brand != null">brand = #{brand},</if>
<if test="unit != null">unit = #{unit},</if>
<if test="warehouseDept != null">warehouseDept = #{warehouseDept},</if>
<if test="describe != null">`describe` = #{describe},</if> <if test="describe != null">`describe` = #{describe},</if>
<if test="materialNum != null">materialNum = #{materialNum},</if> <if test="materialNum != null">materialNum = #{materialNum},</if>
<if test="materialRmb != null">materialRmb = #{materialRmb},</if> <if test="materialRmb != null">materialRmb = #{materialRmb},</if>
@ -154,16 +165,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<delete id="deleteBaseRequisitioningOrderChildById" parameterType="Long"> <delete id="deleteBaseRequisitioningOrderChildById" parameterType="Long">
delete from base_requisitioning_order_child where requisitioning_child_id = #{requisitioningChildId} delete from base_requisitioning_order_child where requisitioning_child_id = #{requisitioningChildId}
</delete> </delete>
<delete id="deleteBaseRequisitioningOrderChildByQuoteId" parameterType="String"> <delete id="deleteBaseRequisitioningOrderChildByRequisitioningCode" parameterType="String">
delete from base_requisitioning_order_child where quote_id = #{qoteId} delete from base_requisitioning_order_child where requisitioning_code = #{requisitioningCode}
</delete> </delete>
<delete id="deleteBaseRequisitioningOrderChildByQuoteIds" parameterType="String"> <delete id="deleteBaseRequisitioningOrderChildByRequisitioningCodes" parameterType="String">
delete from base_requisitioning_order_child where quote_id in delete from base_requisitioning_order_child where requisitioning_code in
<foreach item="quoteId" collection="array" open="(" separator="," close=")"> <foreach item="requisitioningCode" collection="array" open="(" separator="," close=")">
#{quoteId} #{requisitioningCode}
</foreach> </foreach>
</delete> </delete>
<update id="updateBaseRequisitioningOrderChildByRequisitioningCodes" parameterType="String">
update base_requisitioning_order_child set del_flag = #{delFlag} base_requisitioning_order_child
where requisitioning_code in
<foreach item="requisitioningCode" collection="array" open="(" separator="," close=")">
#{requisitioningCode}
</foreach>
</update>
<update id="updateBaseRequisitioningOrderChildByRequisitioningCode" parameterType="String">
update base_requisitioning_order_child set del_flag = #{delFlag} base_requisitioning_order_child
where requisitioning_code = #{requisitioningCode}
</update>
<delete id="deleteBaseRequisitioningOrderChildByIds" parameterType="String"> <delete id="deleteBaseRequisitioningOrderChildByIds" parameterType="String">
delete from base_requisitioning_order_child where requisitioning_child_id in delete from base_requisitioning_order_child where requisitioning_child_id in
<foreach item="requisitioningChildId" collection="array" open="(" separator="," close=")"> <foreach item="requisitioningChildId" collection="array" open="(" separator="," close=")">

176
ruoyi-admin/src/main/resources/mapper/system/BaseRequisitioningOrderMapper.xml

@ -3,58 +3,60 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.BaseRequisitioningOrderMapper"> <mapper namespace="com.ruoyi.system.mapper.BaseRequisitioningOrderMapper">
<resultMap type="BaseRequisitioningOrderVo" id="BaseRequisitioningOrderResult"> <resultMap type="BaseRequisitioningOrderVo" id="BaseRequisitioningOrderResult">
<result property="requisitioningId" column="requisitioning_id" /> <result property="requisitioningId" column="requisitioning_id" />
<result property="auditStatus" column="audit_status" /> <result property="auditStatus" column="audit_status" />
<result property="requisitioningStatus" column="requisitioning_status" /> <result property="requisitioningStatus" column="requisitioning_status" />
<result property="requisitioningCode" column="requisitioning_code" /> <result property="requisitioningCode" column="requisitioning_code" />
<result property="correlationCode" column="correlation_code" /> <result property="correlationCode" column="correlation_code" />
<result property="materialAmount" column="material_amount" /> <result property="materialAmount" column="material_amount" />
<result property="materialSum" column="materialSum" /> <result property="materialSum" column="materialSum" />
<result property="noRmbSum" column="noRmbSum" /> <result property="noRmbSum" column="noRmbSum" />
<result property="rmbSum" column="rmbSum" /> <result property="rmbSum" column="rmbSum" />
<result property="applyUser" column="apply_user" /> <result property="applyUser" column="apply_user" />
<result property="createBy" column="create_by" /> <result property="createBy" column="create_by" />
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" /> <result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" /> <result property="updateTime" column="update_time" />
<result property="remark" column="remark" /> <result property="remark" column="remark" />
<result property="useStatus" column="use_status" /> <result property="useStatus" column="use_status" />
<result property="instanceId" column="instance_id" /> <result property="instanceId" column="instance_id" />
<result property="instanceType" column="instance_type" /> <result property="instanceType" column="instance_type" />
<result property="instanceTypeName" column="instance_type_name" /> <result property="instanceTypeName" column="instance_type_name" />
<result property="submitInstanceId" column="submit_instance_id" /> <result property="submitInstanceId" column="submit_instance_id" />
<result property="cancelInstanceId" column="cancel_instance_id" /> <result property="cancelInstanceId" column="cancel_instance_id" />
<result property="restoreInstanceId" column="restore_instance_id"/> <result property="restoreInstanceId" column="restore_instance_id" />
<result property="applyTitle" column="apply_title" /> <result property="applyTitle" column="apply_title" />
<result property="applyUser" column="apply_user" /> <result property="applyUser" column="apply_user" />
<result property="applyTime" column="apply_time" /> <result property="applyTime" column="apply_time" />
<result property="deptName" column="dept_name" />
<result property="postName" column="post_name" />
</resultMap> </resultMap>
<sql id="selectBaseRequisitioningOrderVo"> <sql id="selectBaseRequisitioningOrderVo">
select requisitioning_id, audit_status, requisitioning_status, requisitioning_code, select requisitioning_id, audit_status, requisitioning_status, requisitioning_code,
correlation_code, material_amount, materialSum, noRmbSum, rmbSum, apply_user, correlation_code, material_amount, materialSum, noRmbSum, rmbSum, apply_user,
create_by, create_time, update_by, update_time, remark, use_status, create_by, create_time, update_by, update_time, remark, use_status,
instance_id, instance_type, instance_type_name, submit_instance_id, cancel_instance_id, restore_instance_id, instance_id, instance_type, submit_instance_id, cancel_instance_id, restore_instance_id,
apply_title, apply_user, apply_time apply_title, apply_user, apply_time, dept_name, post_name
from base_requisitioning_order from base_requisitioning_order
</sql> </sql>
<select id="selectBaseRequisitioningOrderList" parameterType="BaseRequisitioningOrder" resultMap="BaseRequisitioningOrderResult"> <select id="selectBaseRequisitioningOrderList" parameterType="BaseRequisitioningOrder" resultMap="BaseRequisitioningOrderResult">
select r.requisitioning_id, r.requisitioning_status, r.requisitioning_code, select r.requisitioning_id, r.requisitioning_status, r.requisitioning_code,
r.correlation_code, r.material_amount, r.materialSum, r.noRmbSum, r.rmbSum, r.correlation_code, r.material_amount, r.materialSum, r.noRmbSum, r.rmbSum,r.create_by,
r.update_by, r.update_time, r.remark,r.instance_id, p.dict_value as instance_type_name, r.create_time,r.update_by, r.update_time, r.remark,r.instance_id, p.dict_value as instance_type_name,
r.instance_type,r.submit_instance_id, r.cancel_instance_id, r.instance_type,r.submit_instance_id, r.cancel_instance_id,
r.restore_instance_id, r.apply_title, r.apply_user, r.apply_time,r.apply_user, r.restore_instance_id, r.apply_title, r.apply_user, r.apply_time,r.apply_user,
r.create_by, r.create_time, r.audit_status, r.use_status r.create_by, r.create_time, r.audit_status, r.use_status,r.dept_name,r.post_name
from base_requisitioning_order as r from base_requisitioning_order as r
left join( left join(
select dict_value,dict_label from sys_dict_data select dict_value,dict_label from sys_dict_data
where dict_type = 'processType' where dict_type = 'processType'
) as p ) as p on r.instance_type = p.dict_value
on r.instance_type = p.dict_value
<where> <where>
r.del_flag = '0'
<if test="requisitioningId != null and requisitioningId != ''"> and r.requisitioning_id = #{requisitioningId}</if>
<if test="requisitioningStatus != null and requisitioningStatus != ''"> and r.requisitioning_status = #{requisitioningStatus}</if> <if test="requisitioningStatus != null and requisitioningStatus != ''"> and r.requisitioning_status = #{requisitioningStatus}</if>
<if test="requisitioningCode != null and requisitioningCode != ''"> and r.requisitioning_code = #{requisitioningCode}</if> <if test="requisitioningCode != null and requisitioningCode != ''"> and r.requisitioning_code = #{requisitioningCode}</if>
<if test="auditStatus!= null and auditStatus != ''"> and r.audit_status = #{auditStatus}</if> <if test="auditStatus!= null and auditStatus != ''"> and r.audit_status = #{auditStatus}</if>
@ -71,19 +73,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''"> <if test="params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''">
and r.create_time between #{params.beginCreateTime} and #{params.endCreateTime} and r.create_time between #{params.beginCreateTime} and #{params.endCreateTime}
</if> </if>
<if test="params.materialCode != null and params.materialCode != '' or params.materialName !=null and params.materialName != ''"> <!-- <if test="params.materialCode != null and params.materialCode != '' or params.materialName !=null and params.materialName != ''">-->
and r.requisitioning_code in ( <!-- and r.requisitioning_code in (-->
select quote_id from base_requisitioning_order_child <!-- select requisitioning_code from base_requisitioning_order_child-->
<where> <!-- <where>-->
<if test="params.materialCode != null and params.materialCode != ''"> <!-- <if test="params.materialCode != null and params.materialCode != ''">-->
and material_code = #{params,materialCode} <!-- and material_code = #{params.materialCode}-->
</if> <!-- </if>-->
<if test="params.materialName != null and params.materialName != ''"> <!-- <if test="params.materialName != null and params.materialName != ''">-->
and material_name = #{params.materialName} <!-- and material_name = #{params.materialName}-->
</if> <!-- </if>-->
</where> <!-- </where>-->
) <!-- )-->
</if> <!-- </if>-->
</where> </where>
</select> </select>
@ -108,6 +110,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="materialSum != null">materialSum,</if> <if test="materialSum != null">materialSum,</if>
<if test="noRmbSum != null">noRmbSum,</if> <if test="noRmbSum != null">noRmbSum,</if>
<if test="rmbSum != null">rmbSum,</if> <if test="rmbSum != null">rmbSum,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="deptName != null">dept_name,</if>
<if test="postName != null">post_name,</if>
<if test="instanceId != null">instance_id,</if> <if test="instanceId != null">instance_id,</if>
<if test="instanceType != null">instance_type,</if> <if test="instanceType != null">instance_type,</if>
<if test="submitInstanceId != null">submit_instance_id,</if> <if test="submitInstanceId != null">submit_instance_id,</if>
@ -116,10 +124,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="applyTitle != null">apply_title,</if> <if test="applyTitle != null">apply_title,</if>
<if test="applyUser != null">apply_user,</if> <if test="applyUser != null">apply_user,</if>
<if test="applyTime != null">apply_time,</if> <if test="applyTime != null">apply_time,</if>
<if test="useStatus != null">use_status,</if>
<if test="auditStatus != null">audit_status,</if> <if test="auditStatus != null">audit_status,</if>
<if test="createBy != null">create_by,</if> <if test="useStatus != null">use_status,</if>
<if test="createTime != null">create_time,</if> <if test="delFlag != null">del_flag,</if>
<if test="remark != null">remark,</if> <if test="remark != null">remark,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
@ -130,18 +137,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="materialSum != null">#{materialSum},</if> <if test="materialSum != null">#{materialSum},</if>
<if test="noRmbSum != null">#{noRmbSum},</if> <if test="noRmbSum != null">#{noRmbSum},</if>
<if test="rmbSum != null">#{rmbSum},</if> <if test="rmbSum != null">#{rmbSum},</if>
<if test="instanceId != null">#{instance_id},</if>
<if test="instanceType != null">#{instance_type},</if>
<if test="submitInstanceId != null">#{submit_instance_id},</if>
<if test="cancelInstanceId != null">#{cancel_instance_id},</if>
<if test="restoreInstanceId != null">#{restore_instance_id},</if>
<if test="applyTitle != null">#{apply_title},</if>
<if test="applyUser != null">#{apply_user},</if>
<if test="applyTime != null">#{apply_time},</if>
<if test="useStatus != null">#{use_status},</if>
<if test="auditStatus != null">#{audit_status},</if>
<if test="createBy != null">#{createBy},</if> <if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if> <if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="deptName != null">#{deptName},</if>
<if test="postName != null">#{postName},</if>
<if test="instanceId != null">#{instanceId},</if>
<if test="instanceType != null">#{instanceType},</if>
<if test="submitInstanceId != null">#{submitInstanceId},</if>
<if test="cancelInstanceId != null">#{cancelInstanceId},</if>
<if test="restoreInstanceId != null">#{restoreInstanceId},</if>
<if test="applyTitle != null">#{applyTitle},</if>
<if test="applyUser != null">#{applyUser},</if>
<if test="applyTime != null">#{applyTime},</if>
<if test="useStatus != null">#{useStatus},</if>
<if test="auditStatus != null">#{auditStatus},</if>
<if test="delFlag != null">#{delFlag},</if>
<if test="remark != null">#{remark},</if> <if test="remark != null">#{remark},</if>
</trim> </trim>
</insert> </insert>
@ -156,19 +168,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="materialSum != null">materialSum = #{materialSum},</if> <if test="materialSum != null">materialSum = #{materialSum},</if>
<if test="noRmbSum != null">noRmbSum = #{noRmbSum},</if> <if test="noRmbSum != null">noRmbSum = #{noRmbSum},</if>
<if test="rmbSum != null">rmbSum = #{rmbSum},</if> <if test="rmbSum != null">rmbSum = #{rmbSum},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="instanceId != null">#{instanceId},</if>
<if test="instanceType != null">#{instanceType},</if>
<if test="submitInstanceId != null">#{submitInstanceId},</if>
<if test="cancelInstanceId != null">#{cancelInstanceId},</if>
<if test="restoreInstanceId != null">#{restoreInstanceId},</if>
<if test="applyTitle != null">#{applyTitle},</if>
<if test="applyUser != null">#{applyUser},</if>
<if test="applyTime != null">#{applyTime},</if>
<if test="useStatus != null">#{useStatus},</if>
<if test="auditStatus != null">#{auditStatus},</if>
<if test="updateBy != null">update_by = #{updateBy},</if> <if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if> <if test="updateTime != null">update_time = #{updateTime},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="deptName != null">dept_name = #{deptName},</if>
<if test="postName != null">post_name = #{postName},</if>
<if test="instanceId != null">instance_id = #{instanceId},</if>
<if test="instanceType != null"> instance_type = #{instanceType},</if>
<if test="submitInstanceId != null">submit_instance_id = #{submitInstanceId},</if>
<if test="cancelInstanceId != null"> cancel_instance_id = #{cancelInstanceId},</if>
<if test="restoreInstanceId != null"> restore_instance_id =#{restoreInstanceId},</if>
<if test="applyTitle != null"> apply_title = #{applyTitle},</if>
<if test="applyUser != null">apply_user = #{applyUser},</if>
<if test="applyTime != null">apply_time = #{applyTime},</if>
<if test="useStatus != null">use_status = #{useStatus},</if>
<if test="auditStatus != null"> audit_status = #{auditStatus},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
</trim> </trim>
where requisitioning_id = #{requisitioningId} where requisitioning_id = #{requisitioningId}
</update> </update>
@ -176,7 +194,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<delete id="deleteBaseRequisitioningOrderById" parameterType="Long"> <delete id="deleteBaseRequisitioningOrderById" parameterType="Long">
delete from base_requisitioning_order where requisitioning_id = #{requisitioningId} delete from base_requisitioning_order where requisitioning_id = #{requisitioningId}
</delete> </delete>
<delete id="deleteBaseRequisitioningOrderByIds" parameterType="String"> <delete id="deleteBaseRequisitioningOrderByIds" parameterType="String">
delete from base_requisitioning_order where requisitioning_id in delete from base_requisitioning_order where requisitioning_id in
<foreach item="requisitioningId" collection="array" open="(" separator="," close=")"> <foreach item="requisitioningId" collection="array" open="(" separator="," close=")">
@ -184,8 +201,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach> </foreach>
</delete> </delete>
<delete id="deleteBaseRequisitioningOrderByCode" parameterType="String"> <delete id="deleteBaseRequisitioningOrderByCode" parameterType="String">
delete from base_requisitioning_order where requisitioning_code = #{requisitioningId} delete from base_requisitioning_order where requisitioning_code = #{requisitioningCode}
</delete> </delete>
<delete id="deleteBaseRequisitioningOrderByCodes" parameterType="String">
delete from base_requisitioning_order where requisitioning_code in
<foreach item="requisitioningCode" collection="array" open="(" separator="," close=")">
#{requisitioningCode}
</foreach>
</delete>
<update id="updateBaseRequisitioningOrderByCode" parameterType="String">
update base_requisitioning_order set del_flag = #{delFlag} where requisitioning_code = #{requisitioningCode}
</update>
<update id="updateBaseRequisitioningOrderByCodes" parameterType="String">
update base_requisitioning_order set del_flag = #{delFlag} where requisitioning_code in
<foreach item="requisitioningCode" collection="array" open="(" separator="," close=")">
#{requisitioningCode}
</foreach>
</update>
<update id="cancelBaseRequisitioningOrderById" parameterType="Long"> <update id="cancelBaseRequisitioningOrderById" parameterType="Long">
update base_requisitioning_order set del_flag = '1' where requisitioning_id = #{requisitioningId} update base_requisitioning_order set del_flag = '1' where requisitioning_id = #{requisitioningId}

10
ruoyi-admin/src/main/resources/templates/system/requesitioningChild/add.html

@ -5,11 +5,11 @@
</head> </head>
<body class="white-bg"> <body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> <div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-requesitioningChild-add"> <form class="form-horizontal m" id="form-requisitioningChild-add">
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">关联请购单编号字段:</label> <label class="col-sm-3 control-label">关联请购单编号字段:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="quoteId" class="form-control" type="text"> <input name="requisitioningCode" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
@ -128,14 +128,14 @@
</div> </div>
<th:block th:include="include :: footer" /> <th:block th:include="include :: footer" />
<script th:inline="javascript"> <script th:inline="javascript">
var prefix = ctx + "system/requesitioningChild" var prefix = ctx + "system/requisitioningChild"
$("#form-requesitioningChild-add").validate({ $("#form-requisitioningChild-add").validate({
focusCleanup: true focusCleanup: true
}); });
function submitHandler() { function submitHandler() {
if ($.validate.form()) { if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-requesitioningChild-add').serialize()); $.operate.save(prefix + "/add", $('#form-requisitioningChild-add').serialize());
} }
} }
</script> </script>

10
ruoyi-admin/src/main/resources/templates/system/requesitioningChild/edit.html

@ -5,12 +5,12 @@
</head> </head>
<body class="white-bg"> <body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> <div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-requesitioningChild-edit" th:object="${baseRequisitioningOrderChild}"> <form class="form-horizontal m" id="form-requisitioningChild-edit" th:object="${baseRequisitioningOrderChild}">
<input name="requisitioningChildId" th:field="*{requisitioningChildId}" type="hidden"> <input name="requisitioningChildId" th:field="*{requisitioningChildId}" type="hidden">
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">关联请购单编号字段:</label> <label class="col-sm-3 control-label">关联请购单编号字段:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="quoteId" th:field="*{quoteId}" class="form-control" type="text"> <input name="requisitioningCode" th:field="*{requisitioningCode}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
@ -130,14 +130,14 @@
</div> </div>
<th:block th:include="include :: footer" /> <th:block th:include="include :: footer" />
<script th:inline="javascript"> <script th:inline="javascript">
var prefix = ctx + "system/requesitioningChild"; var prefix = ctx + "system/requisitioningChild";
$("#form-requesitioningChild-edit").validate({ $("#form-requisitioningChild-edit").validate({
focusCleanup: true focusCleanup: true
}); });
function submitHandler() { function submitHandler() {
if ($.validate.form()) { if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-requesitioningChild-edit').serialize()); $.operate.save(prefix + "/edit", $('#form-requisitioningChild-edit').serialize());
} }
} }
</script> </script>

16
ruoyi-admin/src/main/resources/templates/system/requesitioningChild/requesitioningChild.html

@ -54,10 +54,10 @@
</div> </div>
<div class="btn-group-sm" id="toolbar" role="group"> <div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="requesitioningChild:requesitioningChild:add"> <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="requisitioningChild:requisitioningChild:add">
<i class="fa fa-plus"></i> 添加 <i class="fa fa-plus"></i> 添加
</a> </a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="requesitioningChild:requesitioningChild:export"> <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="requisitioningChild:requisitioningChild:export">
<i class="fa fa-download"></i> 导出 <i class="fa fa-download"></i> 导出
</a> </a>
</div> </div>
@ -68,11 +68,11 @@
</div> </div>
<th:block th:include="include :: footer" /> <th:block th:include="include :: footer" />
<script th:inline="javascript"> <script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('requesitioningChild:requesitioningChild:edit')}]]; var editFlag = [[${@permission.hasPermi('requisitioningChild:requisitioningChild:edit')}]];
var removeFlag = [[${@permission.hasPermi('requesitioningChild:requesitioningChild:remove')}]]; var removeFlag = [[${@permission.hasPermi('requisitioningChild:requisitioningChild:remove')}]];
var cancelFlag = [[${@permission.hasPermi('requesitioningChild:requesitioningChild:cancel')}]]; var cancelFlag = [[${@permission.hasPermi('requisitioningChild:requisitioningChild:cancel')}]];
var restoreFlag = [[${@permission.hasPermi('requesitioningChild:requesitioningChild:restore')}]]; var restoreFlag = [[${@permission.hasPermi('requisitioningChild:requisitioningChild:restore')}]];
var prefix = ctx + "system/requesitioningChild"; var prefix = ctx + "system/requisitioningChild";
$(function() { $(function() {
var options = { var options = {
@ -94,7 +94,7 @@
}, },
{ {
title: '关联请购单编号字段', title: '关联请购单编号字段',
field: 'quoteId', field: 'requisitioningCode',
}, },
{ {
title: '物料表中的id', title: '物料表中的id',

56
ruoyi-admin/src/main/resources/templates/system/requisitioning/add.html

@ -8,22 +8,23 @@
<body class="white-bg"> <body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> <div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-requisitioning-add"> <form class="form-horizontal m" id="form-requisitioning-add">
<input id="id" name="requisitioningCode" type="hidden">
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label is-required">部门:</label> <label class="col-sm-3 control-label is-required">部门:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="deptName" class="form-control" required></select> <select id="deptName" name="deptName" class="form-control" disabled required></select>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label is-required" >岗位:</label> <label class="col-sm-3 control-label" >岗位:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="postName" class="form-control" required></select> <select id="postName" name="postName" class="form-control" disabled></select>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label is-required">姓名:</label> <label class="col-sm-3 control-label is-required">姓名:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="userName" class="form-control" required></select> <select id="userName" name="userName" class="form-control" disabled required></select>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
@ -57,7 +58,7 @@
var auditStatusDatas = [[${@dict.getType('auditStatus')}]]; var auditStatusDatas = [[${@dict.getType('auditStatus')}]];
var sysUnitClassDatas = [[${@dict.getType('sys_unit_class')}]]; var sysUnitClassDatas = [[${@dict.getType('sys_unit_class')}]];
var processMethodDatas = [[${@dict.getType('processMethod')}]]; var processMethodDatas = [[${@dict.getType('processMethod')}]];
var user = [[${user}]]; var warehouseDeptDatas = [[${@dict.getType('warehouseDept')}]];
var prefix = ctx + "system/requisitioning"; var prefix = ctx + "system/requisitioning";
$("#form-requisitioning-add").validate({focusCleanup: true}); $("#form-requisitioning-add").validate({focusCleanup: true});
//获取子表信息 //获取子表信息
@ -71,7 +72,7 @@
{checkbox: true}, {checkbox: true},
{field: 'materialIndex',align: 'center', title: "序号", {field: 'materialIndex',align: 'center', title: "序号",
formatter: function (value, row, index) { formatter: function (value, row, index) {
return index+1; return index + 1;
} }
}, },
{title: '物料索引id',field: 'materialId',align: 'center',visible: false}, {title: '物料索引id',field: 'materialId',align: 'center',visible: false},
@ -96,11 +97,14 @@
return $.table.selectDictLabel(sysUnitClassDatas, value); return $.table.selectDictLabel(sysUnitClassDatas, value);
} }
}, },
{title: '半成品类型',field: 'processMethod',align: 'center', {title: '加工方式',field: 'processMethod',align: 'center',
formatter: function(value, row, index) { formatter: function(value, row, index) {
return $.table.selectDictLabel(processMethodDatas, value); return $.table.selectDictLabel(processMethodDatas, value);
} }
}, },
{title: '入库部门',field: 'warehouseDept',align: 'center',function(value, row, index) {
return $.table.selectDictLabel(warehouseDeptDatas, value);
}},
{title: '物料的数量', field: 'materialNum',align: 'center', {title: '物料的数量', field: 'materialNum',align: 'center',
editable : { editable : {
type : 'text', type : 'text',
@ -168,13 +172,33 @@
} }
}; };
$.table.init(options); $.table.init(options);
getRequisitionNo();
getSelections(); getSelections();
}); });
//生成请购单号
function getRequisitionNo(){
//获取单号
$.ajax({
url: prefix + "/getId",
type: "get",
dateType: "json",
success: function (resp) {
if (resp.code === 0) {
$("input[name='requisitioningCode']").val(resp.data);
} else {
$.modal.msgError("失败啦");
}
},
error: function () {
$.modal.msgError("后台出错啦!");
}
});
}
function doSubmit(index, layero,uniqueId){ function doSubmit(index, layero,uniqueId){
console.log(uniqueId);
var iframeWin = window[layero.find('iframe')[0]['name']]; var iframeWin = window[layero.find('iframe')[0]['name']];
var rowData = iframeWin.$('#bootstrap-select-table').bootstrapTable('getSelections')[0]; var rowData = iframeWin.$('#bootstrap-select-table').bootstrapTable('getSelections')[0];
console.log("rowData: "+rowData);
var rows = $("#bootstrap-sub-table-requisitionChild").bootstrapTable('getData').length; var rows = $("#bootstrap-sub-table-requisitionChild").bootstrapTable('getData').length;
for(var i=0;i<rows;i++){ for(var i=0;i<rows;i++){
var data = $("#bootstrap-sub-table-requisitionChild").bootstrapTable('getData')[i]; var data = $("#bootstrap-sub-table-requisitionChild").bootstrapTable('getData')[i];
@ -194,6 +218,7 @@
brand: rowData.brand, brand: rowData.brand,
unit: rowData.unit, unit: rowData.unit,
processMethod: rowData.processMethod, processMethod: rowData.processMethod,
warehouseDept:rowData.warehouseDept,
photoUrl: rowData.photoUrl, photoUrl: rowData.photoUrl,
materialNum: 1, materialNum: 1,
materialRmb: rowData.materialRmb, materialRmb: rowData.materialRmb,
@ -223,11 +248,13 @@
} }
function submitHandler() { function submitHandler() {
if ($.validate.form()) { if ($.validate.form()) {
$("#userName").removeAttr("disabled");
$("#postName").removeAttr("disabled");
$("#deptName").removeAttr("disabled");
var formData = $("#form-requisitioning-add").serializeArray(); var formData = $("#form-requisitioning-add").serializeArray();
console.log("formData",formData);
var tableData = $("#bootstrap-sub-table-requisitionChild").bootstrapTable('getData'); var tableData = $("#bootstrap-sub-table-requisitionChild").bootstrapTable('getData');
let rows = tableData.length; let rows = tableData.length;
if(rows==0){ if(rows===0){
$.modal.msgError("子表数据不能为空!"); $.modal.msgError("子表数据不能为空!");
}else{ }else{
formData.push({"name": "baseRequisitioningOrderChildList", "value": tableData}); formData.push({"name": "baseRequisitioningOrderChildList", "value": tableData});
@ -242,12 +269,11 @@
type: "get", type: "get",
dataType: "json", dataType: "json",
success: function (data) { success: function (data) {
$("select[name='deptName']").append($('<option></option>').val(data.deptName).html(data.deptName)); $("#deptName").append($('<option></option>').val(data.deptName).html(data.deptName));
$("select[name='userName']").append($('<option></option>').val(data.userName).html(data.userName)); $("#userName").append($('<option></option>').val(data.userName).html(data.userName));
$("select[name='postName']").append($('<option></option>').val(data.postName).html(data.postName)); $("#postName").append($('<option></option>').val(data.postName).html(data.postName));
} }
}); });
} }
</script> </script>
</body> </body>

18
ruoyi-admin/src/main/resources/templates/system/requisitioning/detail.html

@ -71,12 +71,7 @@
url: ctx + "system/requesitioningChild/list", url: ctx + "system/requesitioningChild/list",
pagination: false, pagination: false,
sidePagination: "client", sidePagination: "client",
queryParams: function(params) { queryParams:queryParams,
var temp = {
requisitioningCode: baseRequisitioningOrder.requisitioningCode,
};
return temp;
},
model: "物料报价信息", model: "物料报价信息",
columns: [ columns: [
{checkbox: true}, {checkbox: true},
@ -111,7 +106,7 @@
return $.table.selectDictLabel(processMethodDatas, value); return $.table.selectDictLabel(processMethodDatas, value);
} }
}, },
{title: '物料的数量', field: 'materialNum',align: 'center',editable: true,}, {title: '物料的数量', field: 'materialNum',align: 'center'},
{title: '物料的不含税单价(RMB)',field: 'materialNoRmb',align: 'center',}, {title: '物料的不含税单价(RMB)',field: 'materialNoRmb',align: 'center',},
{title: '物料的含税单价(RMB)',field: 'materialRmb',align: 'center',}, {title: '物料的含税单价(RMB)',field: 'materialRmb',align: 'center',},
{title: '物料的含税总价(RMB)',field: 'materialNoRmbSum',align: 'center',}, {title: '物料的含税总价(RMB)',field: 'materialNoRmbSum',align: 'center',},
@ -129,6 +124,15 @@
}; };
$.table.init(options); $.table.init(options);
}); });
function queryParams(params) {
var curParams = {
// 传递参数查询参数
pageSize: params.limit,
pageNum: params.offset / params.limit + 1,
requisitioningCode: baseRequisitioningOrder.requisitioningCode
};
return curParams;
}
function doSubmit(index, layero,uniqueId){ function doSubmit(index, layero,uniqueId){
console.log(uniqueId); console.log(uniqueId);
var iframeWin = window[layero.find('iframe')[0]['name']]; var iframeWin = window[layero.find('iframe')[0]['name']];

27
ruoyi-admin/src/main/resources/templates/system/requisitioning/edit.html

@ -4,6 +4,7 @@
<th:block th:include="include :: header('修改请购单')" /> <th:block th:include="include :: header('修改请购单')" />
<th:block th:include="include :: select2-css" /> <th:block th:include="include :: select2-css" />
<th:block th:include="include :: bootstrap-editable-css" /> <th:block th:include="include :: bootstrap-editable-css" />
<link th:href="@{/ajax/libs/element-ui/element-ui.css}" rel="stylesheet"/>
</head> </head>
<body class="white-bg"> <body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> <div class="wrapper wrapper-content animated fadeInRight ibox-content">
@ -18,19 +19,19 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">部门:</label> <label class="col-sm-3 control-label">部门:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="deptName" class="form-control"></select> <select name="deptName" th:field="*{deptName}" class="form-control"></select>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">岗位:</label> <label class="col-sm-3 control-label">岗位:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="postName" class="form-control"></select> <select name="postName" th:field="*{postName}" class="form-control"></select>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">姓名:</label> <label class="col-sm-3 control-label">姓名:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="userName" class="form-control"></select> <select name="userName" th:field="*{userName}" class="form-control"></select>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
@ -59,27 +60,24 @@
<th:block th:include="include :: footer" /> <th:block th:include="include :: footer" />
<th:block th:include="include :: select2-js" /> <th:block th:include="include :: select2-js" />
<th:block th:include="include :: bootstrap-table-editable-js" /> <th:block th:include="include :: bootstrap-table-editable-js" />
<script th:src="@{/js/activiti.js}"></script>
<script th:inline="javascript"> <script th:inline="javascript">
var baseRequisitioningOrder = [[${baseRequisitioningOrder}]]; var baseRequisitioningOrder = [[${baseRequisitioningOrder}]];
var materialTypeDatas = [[${@category.getChildByCode('materialType')}]]; var materialTypeDatas = [[${@category.getChildByCode('materialType')}]];
var auditStatusDatas = [[${@dict.getType('auditStatus')}]]; var auditStatusDatas = [[${@dict.getType('auditStatus')}]];
var sysUnitClassDatas = [[${@dict.getType('sys_unit_class')}]]; var sysUnitClassDatas = [[${@dict.getType('sys_unit_class')}]];
var processMethodDatas = [[${@dict.getType('processMethod')}]]; var processMethodDatas = [[${@dict.getType('processMethod')}]];
var warehouseDeptDatas = [[${@dict.getType('warehouseDept')}]];
var prefix = ctx + "system/requisitioning"; var prefix = ctx + "system/requisitioning";
$("#form-requisitioning-edit").validate({focusCleanup: true}); $("#form-requisitioning-edit").validate({focusCleanup: true});
$(function() { $(function() {
getSelections(); getSelections();
var options = { var options = {
id:'bootstrap-sub-table-requisitionChild', id:'bootstrap-sub-table-requisitionChild',
url: ctx + "system/requesitioningChild/list", url: ctx + "system/requisitioningChild/list",
pagination: false, pagination: false,
sidePagination: "client", sidePagination: "client",
queryParams: function(params) { queryParams:queryParams,
var temp = {
requisitioningCode: baseRequisitioningOrder.requisitioningCode,
};
return temp;
},
model: "物料报价信息", model: "物料报价信息",
columns: [ columns: [
{checkbox: true}, {checkbox: true},
@ -139,6 +137,15 @@
}; };
$.table.init(options); $.table.init(options);
}); });
function queryParams(params) {
var curParams = {
// 传递参数查询参数
pageSize: params.limit,
pageNum: params.offset / params.limit + 1,
requisitioningCode: baseRequisitioningOrder.requisitioningCode
};
return curParams;
}
function doSubmit(index, layero,uniqueId){ function doSubmit(index, layero,uniqueId){
console.log(uniqueId); console.log(uniqueId);
var iframeWin = window[layero.find('iframe')[0]['name']]; var iframeWin = window[layero.find('iframe')[0]['name']];

64
ruoyi-admin/src/main/resources/templates/system/requisitioning/requisitioning.html

@ -70,6 +70,9 @@
<th:block th:include="include :: select2-js" /> <th:block th:include="include :: select2-js" />
<th:block th:include="include :: bootstrap-table-editable-js" /> <th:block th:include="include :: bootstrap-table-editable-js" />
<th:block th:include="include :: datetimepicker-js" /> <th:block th:include="include :: datetimepicker-js" />
<script th:src="@{/js/activiti.js}"></script>
<script th:src="@{/ajax/libs/vue/vue.js}"></script>
<script th:src="@{/ajax/libs/element-ui/element-ui.js}"></script>
<script th:inline="javascript"> <script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('system:requisitioning:edit')}]]; var editFlag = [[${@permission.hasPermi('system:requisitioning:edit')}]];
var removeFlag = [[${@permission.hasPermi('system:requisitioning:remove')}]]; var removeFlag = [[${@permission.hasPermi('system:requisitioning:remove')}]];
@ -77,8 +80,8 @@
var restoreFlag = [[${@permission.hasPermi('system:requisitioning:restore')}]]; var restoreFlag = [[${@permission.hasPermi('system:requisitioning:restore')}]];
var auditStatusDatas = [[${@dict.getType('auditStatus')}]]; var auditStatusDatas = [[${@dict.getType('auditStatus')}]];
var requisitioningStatusDatas = [[${@dict.getType('sys_requisitioning_status')}]]; var requisitioningStatusDatas = [[${@dict.getType('sys_requisitioning_status')}]];
var loginName = [[${@permission.getPrincipalProperty('loginName')}]];
var prefix = ctx + "system/requisitioning"; var prefix = ctx + "system/requisitioning";
$(function() { $(function() {
var options = { var options = {
url: prefix + "/list", url: prefix + "/list",
@ -94,13 +97,36 @@
pageSize: 10, pageSize: 10,
sortable: true, // 是否启用排序 sortable: true, // 是否启用排序
sortStable: true, // 设置为 true 将获得稳定的排序 sortStable: true, // 设置为 true 将获得稳定的排序
detailView: true, detailView: false,
fixedColumns: true, // 启用冻结列 fixedColumns: true, // 启用冻结列
rightFixedColumns:1, rightFixedColumns:1,
fixedRightNumber: 1, // 冻结右列个数 fixedRightNumber: 1, // 冻结右列个数
columns: [ columns: [
{checkbox: true}, {checkbox: true},
{title: '请购单索引id',field: 'requisitioningId',visible: false}, {title: '请购单索引id',field: 'requisitioningId',visible: false},
{title: '流程实例ID',field: 'instanceId',visible: false},
{ title: '流程提交实例ID',field: 'submitInstanceId',visible: false},
{ title:'流程作废实例ID',field: 'cancelInstanceId',visible: false},
{title: '流程恢复实例ID',field: 'restoreInstanceId', visible: false},
{ title: '流程实例类型', field: 'instanceTypeName',visible: false},
{title: '申请人ID',field: 'applyUser', visible: false},
{
field: 'applyUserName',
title: '<span style="color: red;">申请人</span>',
formatter: function(value, row, index) {
return '<span style="color: red;">' + (value ? value : "-") + '</span>';
}
},
{field: 'applyTime',title: '申请时间'
},
{title: '当前任务ID',field: 'taskId',visible: false},
{ title: '待办用户ID',field: 'todoUserId', visible: false},
{ title: '当前任务名称',field: 'taskName',
align: 'center',
formatter: function(value, row, index) {
return '<span class="badge badge-primary">' + value + '</span>';
}
},
{title: '审核状态',field: 'auditStatus', {title: '审核状态',field: 'auditStatus',
formatter: function(value, row, index) { formatter: function(value, row, index) {
return $.table.selectDictLabel(auditStatusDatas, value); return $.table.selectDictLabel(auditStatusDatas, value);
@ -120,10 +146,38 @@
{title: '请购人',field: 'createBy',}, {title: '请购人',field: 'createBy',},
{title: '备注',field: 'remark',}, {title: '备注',field: 'remark',},
{title: '操作',align: 'center', {title: '操作',align: 'center',
formatter: function(value, row, index) { formatter: function (value, row, index) {
var actions = []; var actions = [];
// 编辑 if(row.auditStatus=="1" && row.useStatus=="1" && !row.cancelInstanceId) {
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.requisitioningId + '\')"><i class="fa fa-edit"></i>编辑</a> '); // 作废
actions.push('<a class="btn btn-danger btn-xs" href="javascript:void(0)" onclick="$.operate.cancel(\'' + row.requisitioningId + '\')"><i class="fa fa-remove"></i> 作废</a>');
// 编辑
actions.push('<a class="btn btn-success btn-xs" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.requisitioningId + '\')"><i class="fa fa-edit"></i> 编辑</a> ');
// 已作废
}
else{
actions.push('<a class="btn btn-default btn-xs" href="javascript:void(0)" disabled><i class="fa fa-edit"></i> 编辑</a> ');
}
// 有流程实例id
if(row.useStatus=="2" && !row.restoreInstanceId){
// 恢复
actions.push('<a class="btn btn-success btn-xs" href="javascript:void(0)" onclick="$.operate.restore(\'' + row.requisitioningId + '\')"><i class="fa fa-window-restore"></i> 恢复</a> ');
}
// 有流程实例id
if (row.instanceId) {
// 有待办人展示审批按钮,
if (row.todoUserId) {
var todoUserIdList = row.todoUserId.split(",");
if(todoUserIdList.includes(loginName)){
var nodeName = row.taskName=='驳回调整'?' 调整申请':' 审批';
actions.push('<a class="btn btn-success btn-xs" href="javascript:void(0)" onclick="showVerifyDialog(\'' + prefix + '\',\'' + row.taskId + '\', \'' + row.taskName+"-"+ row.instanceTypeName +"申请" + '\')"><i class="fa fa-edit"></i> '+nodeName+'</a> ');
}
}
// 审批历史
actions.push('<a class="btn btn-warning btn-xs" href="javascript:void(0)" onclick="showHistoryDialog(\'' + row.instanceId + '\')"><i class="fa fa-list"></i> 审批历史</a> ');
// 进度查看
actions.push('<a class="btn btn-info btn-xs" href="javascript:void(0)" onclick="showProcessImgDialog(\'' + row.instanceId + '\')"><i class="fa fa-image"></i> 进度查看</a> ');
}
// 详情 // 详情
actions.push('<a class="btn btn-primary btn-xs" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.requisitioningId + '\')"><i class="fa fa-eye"></i> 详情</a> '); actions.push('<a class="btn btn-primary btn-xs" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.requisitioningId + '\')"><i class="fa fa-eye"></i> 详情</a> ');
return actions.join(''); return actions.join('');

40
ruoyi-admin/src/main/resources/templates/system/requisitioning/taksFzjlVerify.html

@ -1,40 +0,0 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('副总经理审核')" />
<th:block th:include="include :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-requisitioning-fzjl-audit" th:object="${formData}">
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<script th:inline="javascript">
var prefix = ctx + "system/requisitioning";
$("#form-requisitioning-fzjl-audit").validate({focusCleanup: true});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/complete/"+taskId, $('#form-requisitioning-fzjl-audit').serialize());
}
}
function getSelections(){
$.ajax({
url: ctx + "system/requisitioning/getEmpUserName",
type: "get",
dataType: "json",
success: function (data) {
$("select[name='deptName']").append($('<option></option>').val(data.deptName).html(data.deptName));
$("select[name='evectionBy']").append($('<option></option>').val(data.userName).html(data.userName));
$("select[name='postName']").append($('<option></option>').val(data.postName).html(data.postName));
}
});
}
</script>
</body>
</html>

180
ruoyi-admin/src/main/resources/templates/system/requisitioning/taskFzjlVerify.html

@ -0,0 +1,180 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('副总经理审核')" />
<th:block th:include="include :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-requisitioning-fzjl-audit" th:object="${formData}">
<input name="requisitioningId" th:field="*{requisitioningId}" type="hidden">
<input name="taskId" th:field="*{taskId}" type="hidden">
<input name="taskName" th:field="*{taskName}" type="hidden">
<input name="instanceId" th:field="*{instanceId}" type="hidden">
<input name="instanceType" th:field="*{instanceType}" type="hidden">
<input type="hidden" name="p_COM_comment" />
<div class="form-group">
<label class="col-sm-3 control-label">申请人:</label>
<div class="col-sm-8">
<input name="applyUserName" th:field="*{applyUserName}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">申请时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
<input name="applyTime" th:value="${#dates.format(formData.applyTime, 'yyyy-MM-dd HH:mm')}" class="form-control" type="text" disabled>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">标题:</label>
<div class="col-sm-8">
<input name="title" th:field="*{applyTitle}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group" hidden="hidden">
<label class="col-sm-3 control-label">请购单号:</label>
<div class="col-sm-8">
<input name="code" th:field="*{requisitioningCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">部门:</label>
<div class="col-sm-8">
<select name="deptName" th:field="*{deptName}" class="form-control"></select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">岗位:</label>
<div class="col-sm-8">
<select name="postName" th:field="*{postName}" class="form-control"></select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">姓名:</label>
<div class="col-sm-8">
<select name="userName" th:field="*{userName}" class="form-control"></select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">关联单号:</label>
<div class="col-sm-8">
<input name="correlationCode" th:field="*{correlationCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label" for="fzjlVerifyApproved"><span style="color: red; ">*</span>审批意见:</label>
<div class="col-sm-8">
<select name="p_B_fzjlVerifyApproved" id="fzjlVerifyApproved" class="form-control m-b" required>
<option value=""></option>
<option value="true">同意</option>
<option value="false">拒绝</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">批注:</label>
<div class="col-sm-8">
<textarea name="comment" class="form-control"></textarea>
</div>
</div>
</form>
<div class="container">
<div class="form-row">
<div class="btn-group-sm" id="toolbar" role="group">
<span>选择报价信息</span>
</div>
</div>
<div class="row">
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-sub-table-requisitionChild"></table>
</div>
</div>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<script th:src="@{/js/activiti.js}"></script>
<script th:inline="javascript">
var prefix = ctx + "system/requisitioning";
var taskId = [[${taskId}]];
var requisitioningCode = [[${formData.requisitioningCode}]];
$("#form-requisitioning-fzjl-audit").validate({focusCleanup: true});
function submitHandler() {
if ($.validate.form()) {
if ($('textarea[name="comment"]').val()) {
$('input[name="p_COM_comment"]').val($('textarea[name="comment"]').val());
}
$.operate.save(prefix + "/complete/"+taskId, $('#form-requisitioning-fzjl-audit').serialize());
}
}
$(function() {
var options = {
id:'bootstrap-sub-table-requisitionChild',
url: ctx + "system/requisitioningChild/list",
pagination: false,
sidePagination: "client",
queryParams: queryParams,
model: "物料报价信息",
columns: [
{checkbox: true},
{field: 'index',align: 'center', title: "序号",
formatter: function (value, row, index,column) {
return $.table.serialNumber(index) - 1;
}
},
{title: '物料索引id',field: 'materialId',align: 'center',visible: false},
{title: '料号',field: 'materialCode',align: 'center'},
{title: '物料名称',field: 'materialName',align: 'center'},
{title: '图片',field: 'photoUrl',
formatter: function(value, row, index) {
return $.table.imageView(value);
}
},
{title: '物料类型',field: 'materialType',align: 'center',
formatter: function(value, row, index) {
return $.table.selectCategoryLabel(materialTypeDatas, value);
}
},
{ title: '描述',field: 'describe',align: 'center'},
{title: '品牌',field: 'brand',align: 'center'},
{ title: '单位',field: 'unit',align: 'center',},
{title: '加工方式',field: 'processMethod',align: 'center',
formatter: function(value, row, index) {
return $.table.selectDictLabel(processMethodDatas, value);
}
},
{title: '入库部门',field: 'warehouseDept',align: 'center',},
{title: '物料的数量', field: 'materialNum',align: 'center',},
{title: '物料的不含税单价(RMB)',field: 'materialNoRmb',align: 'center',},
{title: '物料的含税单价(RMB)',field: 'materialRmb',align: 'center',},
{title: '物料的含税总价(RMB)',field: 'materialNoRmbSum',align: 'center',},
{title: '物料的不含税总价(RMB)',field: 'materialRmbSum',align: 'center',},
{title: '录入人',field: 'createBy',align: 'center',visible: false},
{title: '录入时间',field: 'createTime',align: 'center',visible: false },
{title: '更新人',field: 'updateBy',align: 'center',visible: false},
{title: '上次更新时间',field: 'updateTime',align: 'center',visible: false},
{title: '备注',field: 'remark',align: 'center'},
]
};
$.table.init(options);
});
function queryParams(params) {
var curParams = {
// 传递参数查询参数
pageSize: params.limit,
pageNum: params.offset / params.limit + 1,
requisitioningCode: requisitioningCode
};
return curParams;
}
</script>
</body>
</html>

237
ruoyi-admin/src/main/resources/templates/system/requisitioning/taskModifyApply.html

@ -1,27 +1,257 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" > <html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head> <head>
<th:block th:include="include :: header('修改出差单')" /> <th:block th:include="include :: header('修改请购单')" />
<th:block th:include="include :: datetimepicker-css" /> <th:block th:include="include :: datetimepicker-css" />
<th:block th:include="include :: select2-css" />
<th:block th:include="include :: bootstrap-editable-css" />
</head> </head>
<body class="white-bg"> <body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> <div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-requisitioning-modifyApply" th:object="${formData}"> <form class="form-horizontal m" id="form-requisitioning-modifyApply" th:object="${formData}">
<input name="requisitioningId" th:field="*{requisitioningId}" type="hidden">
<input name="taskId" th:field="*{taskId}" type="hidden">
<input name="taskName" th:field="*{taskName}" type="hidden">
<input name="instanceId" th:field="*{instanceId}" type="hidden">
<input name="instanceType" th:field="*{instanceType}" type="hidden">
<!--驳回调整允许更新内容-->
<input type="hidden" name="saveEntity" value="true" />
<input type="hidden" name="p_B_reApply" class="form-control m-b" />
<div class="form-group">
<label class="col-sm-3 control-label">申请人:</label>
<div class="col-sm-8">
<input name="applyUserName" th:field="*{applyUserName}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">申请时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
<input name="applyTime" th:value="${#dates.format(formData.applyTime, 'yyyy-MM-dd HH:mm')}" class="form-control" type="text" disabled>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">标题:</label>
<div class="col-sm-8">
<input name="title" th:field="*{applyTitle}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group" hidden="hidden">
<label class="col-sm-3 control-label">请购单号:</label>
<div class="col-sm-8">
<input name="requisitioningCode" th:field="*{requisitioningCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">部门:</label>
<div class="col-sm-8">
<select name="deptName" th:field="*{deptName}" class="form-control"></select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">岗位:</label>
<div class="col-sm-8">
<select name="postName" th:field="*{postName}" class="form-control"></select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">姓名:</label>
<div class="col-sm-8">
<select name="userName" th:field="*{userName}" class="form-control"></select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">关联单号:</label>
<div class="col-sm-8">
<input name="correlationCode" th:field="*{correlationCode}" class="form-control" type="text">
</div>
</div>
<div class="container">
<div class="form-group">
<label class="col-sm-3 control-label" for="reApply">是否继续申请:</label>
<div class="col-sm-8">
<select id="reApply" name="reApply" class="form-control m-b">
<option value="true">重新申请</option>
<option value="false">结束流程</option>
</select>
</div>
</div>
</div>
<div class="form-group">
<input name="requisitionChildList" type="hidden">
</div>
</form> </form>
<div class="container">
<div class="form-row">
<div class="btn-group-sm" id="toolbar" role="group">
<span>选择报价信息</span>
<a class="btn btn-success" onclick="insertRow()">
<i class="fa fa-plus"></i> 添加物料
</a>
</div>
</div>
<div class="row">
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-sub-table-requisitionChild"></table>
</div>
</div>
</div>
</div> </div>
<th:block th:include="include :: footer" /> <th:block th:include="include :: footer" />
<th:block th:include="include :: select2-js" />
<th:block th:include="include :: bootstrap-table-editable-js" />
<th:block th:include="include :: datetimepicker-js" /> <th:block th:include="include :: datetimepicker-js" />
<script th:src="@{/js/activiti.js}"></script>
<script th:inline="javascript"> <script th:inline="javascript">
var baseRequisitioningOrder = [[${baseRequisitioningOrder}]];
var materialTypeDatas = [[${@category.getChildByCode('materialType')}]];
var auditStatusDatas = [[${@dict.getType('auditStatus')}]];
var sysUnitClassDatas = [[${@dict.getType('sys_unit_class')}]];
var processMethodDatas = [[${@dict.getType('processMethod')}]];
var warehouseDeptDatas = [[${@dict.getType('warehouseDept')}]];
var taskId = [[${taskId}]];
var requisitioningCode = [[${formData.requisitioningCode}]];
var prefix = ctx + "system/requisitioning"; var prefix = ctx + "system/requisitioning";
$("#form-requisitioning-modifyApply").validate({focusCleanup: true}); $("#form-requisitioning-modifyApply").validate({focusCleanup: true});
function submitHandler() { function submitHandler() {
if ($.validate.form()) { if ($.validate.form()) {
var taskId = [[${taskId}]];
if ($('textarea[name="comment"]').val()) {
$('input[name="p_COM_comment"]').val($('textarea[name="comment"]').val());
}
var tableData = $("#bootstrap-sub-table-requisitionChild").bootstrapTable("getData");
if(tableData.length == 0){
$.modal.alertWarning("请购物料不能为空");
return;
}
$("input[name='requisitioningChildList']").val(JSON.stringify(tableData));
$.operate.save(prefix + "/complete/"+taskId, $('#form-requisitioning-modifyApply').serialize()); $.operate.save(prefix + "/complete/"+taskId, $('#form-requisitioning-modifyApply').serialize());
} }
} }
$("#form-requisitioning-edit").validate({focusCleanup: true});
$(function() {
getSelections();
var options = {
id:'bootstrap-sub-table-requisitionChild',
url: ctx + "system/requisitioningChild/list",
pagination: false,
sidePagination: "client",
queryParams: queryParams,
model: "物料报价信息",
columns: [
{checkbox: true},
{field: 'index',align: 'center', title: "序号",
formatter: function (value, row, index) {
var columnIndex = $.common.sprintf("<input type='hidden' name='index' value='%s'>", $.table.serialNumber(index));
return columnIndex + $.table.serialNumber(index);
}
},
{title: '物料索引id',field: 'materialId',align: 'center',visible: false},
{title: '料号',field: 'materialCode',align: 'center'},
{title: '物料名称',field: 'materialName',align: 'center'},
{title: '图片',field: 'photoUrl',
formatter: function(value, row, index) {
return $.table.imageView(value);
}
},
{title: '物料类型',field: 'materialType',align: 'center',
formatter: function(value, row, index) {
return $.table.selectCategoryLabel(materialTypeDatas, value);
}
},
{ title: '描述',field: 'describe',align: 'center'},
{title: '品牌',field: 'brand',align: 'center'},
{ title: '单位',field: 'unit',align: 'center',
formatter: function(value, row, index) {
return $.table.selectDictLabel(sysUnitClassDatas, value);
}
},
{title: '半成品类型',field: 'processMethod',align: 'center',
formatter: function(value, row, index) {
return $.table.selectDictLabel(processMethodDatas, value);
}
},
{title: '物料的数量', field: 'materialNum',align: 'center',editable: true,},
{title: '物料的不含税单价(RMB)',field: 'materialNoRmb',align: 'center',},
{title: '物料的含税单价(RMB)',field: 'materialRmb',align: 'center',},
{title: '物料的含税总价(RMB)',field: 'materialNoRmbSum',align: 'center',},
{title: '物料的不含税总价(RMB)',field: 'materialRmbSum',align: 'center',},
{title: '录入人',field: 'createBy',align: 'center',visible: false},
{title: '录入时间',field: 'createTime',align: 'center',visible: false },
{title: '更新人',field: 'updateBy',align: 'center',visible: false},
{title: '上次更新时间',field: 'updateTime',align: 'center',visible: false},
{title: '备注',field: 'remark',align: 'center'},
{title: '操作', align: 'center',
formatter: function (value, row, index) {
var actions = [];
actions.push('<a class="btn btn-danger btn-xs" href="javascript:void(0)" onclick="removeRow(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a> ');
return actions.join('');
}
}
],
onEditableSave:function(field, row, oldValue, $el){
row.materialNoRmbSum = Number(row.materialNum * Number(row.materialNoRmb)).toFixed(2);
row.materialRmbSum = Number(row.materialRmb * row.materialNum).toFixed(2);
},
};
$.table.init(options);
});
function queryParams(params) {
var curParams = {
// 传递参数查询参数
pageSize: params.limit,
pageNum: params.offset / params.limit + 1,
requisitioningCode: requisitioningCode
};
return curParams;
}
function doSubmit(index, layero,uniqueId){
console.log(uniqueId);
var iframeWin = window[layero.find('iframe')[0]['name']];
var rowData = iframeWin.$('#bootstrap-select-table').bootstrapTable('getSelections')[0];
console.log("rowData: "+rowData);
$("#bootstrap-sub-table-requisitionChild").bootstrapTable('insertRow', {
index:1,
row: {
materialId:rowData.id,
materialCode: rowData.materialNo,
materialName: rowData.materialName,
materialType: rowData.materialType,
describe: rowData.describe,
brand: rowData.brand,
unit: rowData.unit,
processMethod: rowData.processMethod,
photoUrl: rowData.photoUrl,
materialNum: "",
materialRmb: "",
materialNoRmb: "",
materialNoRmbSum: "",
materialRmbSum: "",
remark: ""
}
})
layer.close(index);
}
function insertRow() {
var url = ctx + "erp/material/select";
var options = {
title: '选择料号',
url: url,
callBack: doSubmit
};
$.modal.openOptions(options);
}
/* 删除指定表格行 */
function removeRow(id){
$("#bootstrap-sub-table-requisitionChild").bootstrapTable('remove', {
field: 'id',
values: id
})
}
function getSelections(){ function getSelections(){
$.ajax({ $.ajax({
url: ctx + "system/requisitioning/getEmpUserName", url: ctx + "system/requisitioning/getEmpUserName",
@ -29,11 +259,10 @@
dataType: "json", dataType: "json",
success: function (data) { success: function (data) {
$("select[name='deptName']").append($('<option></option>').val(data.deptName).html(data.deptName)); $("select[name='deptName']").append($('<option></option>').val(data.deptName).html(data.deptName));
$("select[name='evectionBy']").append($('<option></option>').val(data.userName).html(data.userName)); $("select[name='userName']").append($('<option></option>').val(data.userName).html(data.userName));
$("select[name='postName']").append($('<option></option>').val(data.postName).html(data.postName)); $("select[name='postName']").append($('<option></option>').val(data.postName).html(data.postName));
} }
}); });
} }
</script> </script>
</body> </body>

106
ruoyi-admin/src/main/resources/templates/system/requisitioning/taskQgjlVerify.html

@ -12,8 +12,8 @@
<input name="taskName" th:field="*{taskName}" type="hidden"> <input name="taskName" th:field="*{taskName}" type="hidden">
<input name="instanceId" th:field="*{instanceId}" type="hidden"> <input name="instanceId" th:field="*{instanceId}" type="hidden">
<input name="instanceType" th:field="*{instanceType}" type="hidden"> <input name="instanceType" th:field="*{instanceType}" type="hidden">
<input type="hidden" name="p_COM_comment" />
<!--驳回调整允许更新内容--> <!--驳回调整允许更新内容-->
<input type="hidden" name="saveEntity" value="true" />
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">申请人:</label> <label class="col-sm-3 control-label">申请人:</label>
<div class="col-sm-8"> <div class="col-sm-8">
@ -38,25 +38,25 @@
<div class="form-group" hidden="hidden"> <div class="form-group" hidden="hidden">
<label class="col-sm-3 control-label">请购单号:</label> <label class="col-sm-3 control-label">请购单号:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="code" th:field="*{requisitioningCode}" class="form-control" type="text"> <input name="requisitioningCode" th:field="*{requisitioningCode}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">部门:</label> <label class="col-sm-3 control-label">部门:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="deptName" th:field="*{deptName}" class="form-control"></select> <select name="deptName" th:field="*{deptName}" class="form-control" disabled></select>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">岗位:</label> <label class="col-sm-3 control-label">岗位:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="postName" th:field="*{postName}" class="form-control"></select> <select name="postName" th:field="*{postName}" class="form-control" disabled></select>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">姓名:</label> <label class="col-sm-3 control-label">姓名:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="userName" th:field="*{userName}" class="form-control"></select> <select name="userName" th:field="*{userName}" class="form-control" disabled></select>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
@ -65,14 +65,27 @@
<input name="correlationCode" th:field="*{correlationCode}" class="form-control" type="text"> <input name="correlationCode" th:field="*{correlationCode}" class="form-control" type="text">
</div> </div>
</div> </div>
<div class="form-group">
<label class="col-sm-3 control-label" for="qgjlVerifyApproved"><span style="color: red; ">*</span>审批意见:</label>
<div class="col-sm-8">
<select name="p_B_qgjlVerifyApproved" id="qgjlVerifyApproved" class="form-control m-b" required>
<option value=""></option>
<option value="true">同意</option>
<option value="false">拒绝</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">批注:</label>
<div class="col-sm-8">
<textarea name="comment" class="form-control"></textarea>
</div>
</div>
</form> </form>
<div class="container"> <div class="container">
<div class="form-row"> <div class="form-row">
<div class="btn-group-sm" id="toolbar" role="group"> <div class="btn-group-sm" id="toolbar" role="group">
<span>选择报价信息</span> <span>选择报价信息</span>
<a class="btn btn-success" onclick="insertRow()">
<i class="fa fa-plus"></i> 添加物料
</a>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
@ -84,28 +97,81 @@
</div> </div>
<th:block th:include="include :: footer" /> <th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" /> <th:block th:include="include :: datetimepicker-js" />
<script th:src="@{/js/activiti.js}"></script>
<script th:inline="javascript"> <script th:inline="javascript">
var prefix = ctx + "system/requisitioning"; var prefix = ctx + "system/requisitioning";
var taskId = [[${taskId}]]; var taskId = [[${taskId}]];
var requisitioningCode = [[${formData.requisitioningCode}]];
$("#form-requisitioning-qgjl-audit").validate({focusCleanup: true}); $("#form-requisitioning-qgjl-audit").validate({focusCleanup: true});
$(function() {
var options = {
id:'bootstrap-sub-table-requisitionChild',
url: ctx + "system/requisitioningChild/list",
pagination: false,
sidePagination: "client",
queryParams: queryParams,
model: "物料报价信息",
columns: [
{checkbox: true},
{field: 'index',align: 'center', title: "序号",
formatter: function (value, row, index,column) {
return $.table.serialNumber(index) - 1;
}
},
{title: '物料索引id',field: 'materialId',align: 'center',visible: false},
{title: '料号',field: 'materialCode',align: 'center'},
{title: '物料名称',field: 'materialName',align: 'center'},
{title: '图片',field: 'photoUrl',
formatter: function(value, row, index) {
return $.table.imageView(value);
}
},
{title: '物料类型',field: 'materialType',align: 'center',
formatter: function(value, row, index) {
return $.table.selectCategoryLabel(materialTypeDatas, value);
}
},
{ title: '描述',field: 'describe',align: 'center'},
{title: '品牌',field: 'brand',align: 'center'},
{ title: '单位',field: 'unit',align: 'center',},
{title: '加工方式',field: 'processMethod',align: 'center',
formatter: function(value, row, index) {
return $.table.selectDictLabel(processMethodDatas, value);
}
},
{title: '入库部门',field: 'warehouseDept',align: 'center',},
{title: '物料的数量', field: 'materialNum',align: 'center',},
{title: '物料的不含税单价(RMB)',field: 'materialNoRmb',align: 'center',},
{title: '物料的含税单价(RMB)',field: 'materialRmb',align: 'center',},
{title: '物料的含税总价(RMB)',field: 'materialNoRmbSum',align: 'center',},
{title: '物料的不含税总价(RMB)',field: 'materialRmbSum',align: 'center',},
{title: '录入人',field: 'createBy',align: 'center',visible: false},
{title: '录入时间',field: 'createTime',align: 'center',visible: false },
{title: '更新人',field: 'updateBy',align: 'center',visible: false},
{title: '上次更新时间',field: 'updateTime',align: 'center',visible: false},
{title: '备注',field: 'remark',align: 'center'},
]
};
$.table.init(options);
});
function queryParams(params) {
var curParams = {
// 传递参数查询参数
pageSize: params.limit,
pageNum: params.offset / params.limit + 1,
requisitioningCode: requisitioningCode
};
return curParams;
}
function submitHandler() { function submitHandler() {
if ($.validate.form()) { if ($.validate.form()) {
if ($('textarea[name="comment"]').val()) {
$('input[name="p_COM_comment"]').val($('textarea[name="comment"]').val());
}
$.operate.save(prefix + "/complete/"+taskId, $('#form-requisitioning-qgjl-audit').serialize()); $.operate.save(prefix + "/complete/"+taskId, $('#form-requisitioning-qgjl-audit').serialize());
} }
} }
function getSelections(){
$.ajax({
url: ctx + "system/requisitioning/getEmpUserName",
type: "get",
dataType: "json",
success: function (data) {
$("select[name='deptName']").append($('<option></option>').val(data.deptName).html(data.deptName));
$("select[name='evectionBy']").append($('<option></option>').val(data.userName).html(data.userName));
$("select[name='postName']").append($('<option></option>').val(data.postName).html(data.postName));
}
});
}
</script> </script>
</body> </body>
</html> </html>

171
ruoyi-admin/src/main/resources/templates/system/requisitioning/taskQgzgVerify.html

@ -1,42 +1,177 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" > <html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head> <head>
<th:block th:include="include :: header('修改出差单')" /> <th:block th:include="include :: header('请购人上级部门经理审核')" />
<th:block th:include="include :: datetimepicker-css" /> <th:block th:include="include :: datetimepicker-css" />
</head> </head>
<body class="white-bg"> <body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> <div class="wrapper wrapper-content animated fadeInRight ibox-content">
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> <div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-requisitioning-qgzg-audit" th:object="${formData}"> <form class="form-horizontal m" id="form-requisitioning-qgzg-audit" th:object="${formData}">
<input name="requisitioningId" th:field="*{requisitioningId}" type="hidden">
<input name="taskId" th:field="*{taskId}" type="hidden">
<input name="taskName" th:field="*{taskName}" type="hidden">
<input name="instanceId" th:field="*{instanceId}" type="hidden">
<input name="instanceType" th:field="*{instanceType}" type="hidden">
<input type="hidden" name="p_COM_comment" />
<div class="form-group">
<label class="col-sm-3 control-label">申请人:</label>
<div class="col-sm-8">
<input name="applyUserName" th:field="*{applyUserName}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">申请时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
<input name="applyTime" th:value="${#dates.format(formData.applyTime, 'yyyy-MM-dd HH:mm')}" class="form-control" type="text" disabled>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">标题:</label>
<div class="col-sm-8">
<input name="title" th:field="*{applyTitle}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group" hidden="hidden">
<label class="col-sm-3 control-label">请购单号:</label>
<div class="col-sm-8">
<input name="code" th:field="*{requisitioningCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">部门:</label>
<div class="col-sm-8">
<select name="deptName" th:field="*{deptName}" class="form-control"></select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">岗位:</label>
<div class="col-sm-8">
<select name="postName" th:field="*{postName}" class="form-control"></select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">姓名:</label>
<div class="col-sm-8">
<select name="userName" th:field="*{userName}" class="form-control"></select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">关联单号:</label>
<div class="col-sm-8">
<input name="correlationCode" th:field="*{correlationCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label" for="qgzgVerifyApproved"><span style="color: red; ">*</span>审批意见:</label>
<div class="col-sm-8">
<select name="p_B_qgzgVerifyApproved" id="qgzgVerifyApproved" class="form-control m-b" required>
<option value=""></option>
<option value="true">同意</option>
<option value="false">拒绝</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">批注:</label>
<div class="col-sm-8">
<textarea name="comment" class="form-control"></textarea>
</div>
</div>
</form> </form>
<div class="container">
<div class="form-row">
<div class="btn-group-sm" id="toolbar" role="group">
<span>选择报价信息</span>
</div>
</div>
<div class="row">
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-sub-table-requisitionChild"></table>
</div>
</div>
</div>
</div> </div>
</div> </div>
<th:block th:include="include :: footer" /> <th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" /> <th:block th:include="include :: datetimepicker-js" />
<script th:src="@{/js/activiti.js}"></script>
<script th:inline="javascript"> <script th:inline="javascript">
var prefix = ctx + "system/baseEvectionForm"; var prefix = ctx + "system/requisitioning";
var taskId = [[${taskId}]];
var requisitioningCode = [[${formData.requisitioningCode}]];
$("#form-requisitioning-qgzg-audit").validate({focusCleanup: true}); $("#form-requisitioning-qgzg-audit").validate({focusCleanup: true});
$(function() {
var options = {
id:'bootstrap-sub-table-requisitionChild',
url: ctx + "system/requisitioningChild/list",
pagination: false,
sidePagination: "client",
queryParams: queryParams,
model: "物料报价信息",
columns: [
{checkbox: true},
{field: 'index',align: 'center', title: "序号",
formatter: function (value, row, index,column) {
return $.table.serialNumber(index) - 1;
}
},
{title: '物料索引id',field: 'materialId',align: 'center',visible: false},
{title: '料号',field: 'materialCode',align: 'center'},
{title: '物料名称',field: 'materialName',align: 'center'},
{title: '图片',field: 'photoUrl',
formatter: function(value, row, index) {
return $.table.imageView(value);
}
},
{title: '物料类型',field: 'materialType',align: 'center',
formatter: function(value, row, index) {
return $.table.selectCategoryLabel(materialTypeDatas, value);
}
},
{ title: '描述',field: 'describe',align: 'center'},
{title: '品牌',field: 'brand',align: 'center'},
{ title: '单位',field: 'unit',align: 'center',},
{title: '加工方式',field: 'processMethod',align: 'center',
formatter: function(value, row, index) {
return $.table.selectDictLabel(processMethodDatas, value);
}
},
{title: '入库部门',field: 'warehouseDept',align: 'center',},
{title: '物料的数量', field: 'materialNum',align: 'center',},
{title: '物料的不含税单价(RMB)',field: 'materialNoRmb',align: 'center',},
{title: '物料的含税单价(RMB)',field: 'materialRmb',align: 'center',},
{title: '物料的含税总价(RMB)',field: 'materialNoRmbSum',align: 'center',},
{title: '物料的不含税总价(RMB)',field: 'materialRmbSum',align: 'center',},
{title: '录入人',field: 'createBy',align: 'center',visible: false},
{title: '录入时间',field: 'createTime',align: 'center',visible: false },
{title: '更新人',field: 'updateBy',align: 'center',visible: false},
{title: '上次更新时间',field: 'updateTime',align: 'center',visible: false},
{title: '备注',field: 'remark',align: 'center'},
]
};
$.table.init(options);
});
function queryParams(params) {
var curParams = {
// 传递参数查询参数
pageSize: params.limit,
pageNum: params.offset / params.limit + 1,
requisitioningCode: requisitioningCode
};
return curParams;
}
function submitHandler() { function submitHandler() {
if ($.validate.form()) { if ($.validate.form()) {
if ($('textarea[name="comment"]').val()) {
$('input[name="p_COM_comment"]').val($('textarea[name="comment"]').val());
}
$.operate.save(prefix + "/complete/"+taskId, $('#form-requisitioning-qgzg-audit').serialize()); $.operate.save(prefix + "/complete/"+taskId, $('#form-requisitioning-qgzg-audit').serialize());
} }
} }
function getSelections(){
$.ajax({
url: ctx + "system/requisitioning/getEmpUserName",
type: "get",
dataType: "json",
success: function (data) {
$("select[name='deptName']").append($('<option></option>').val(data.deptName).html(data.deptName));
$("select[name='evectionBy']").append($('<option></option>').val(data.userName).html(data.userName));
$("select[name='postName']").append($('<option></option>').val(data.postName).html(data.postName));
}
});
}
</script> </script>
</body> </body>
</html> </html>

234
ruoyi-admin/src/main/resources/templates/system/requisitioning/taskZozjVerify.html

@ -7,34 +7,236 @@
<body class="white-bg"> <body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> <div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-requisitioning-zozj-audit" th:object="${formData}"> <form class="form-horizontal m" id="form-requisitioning-zozj-audit" th:object="${formData}">
<input name="requisitioningId" th:field="*{requisitioningId}" type="hidden">
<input name="taskId" th:field="*{taskId}" type="hidden">
<input name="taskName" th:field="*{taskName}" type="hidden">
<input name="instanceId" th:field="*{instanceId}" type="hidden">
<input name="instanceType" th:field="*{instanceType}" type="hidden">
<!--驳回调整允许更新内容-->
<input type="hidden" name="p_COM_comment" />
<div class="form-group">
<label class="col-sm-3 control-label">申请人:</label>
<div class="col-sm-8">
<input name="applyUserName" th:field="*{applyUserName}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">申请时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
<input name="applyTime" th:value="${#dates.format(formData.applyTime, 'yyyy-MM-dd HH:mm')}" class="form-control" type="text" disabled>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">标题:</label>
<div class="col-sm-8">
<input name="title" th:field="*{applyTitle}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group" hidden="hidden">
<label class="col-sm-3 control-label">请购单号:</label>
<div class="col-sm-8">
<input name="requisitioningCode" th:field="*{requisitioningCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">部门:</label>
<div class="col-sm-8">
<select name="deptName" th:field="*{deptName}" class="form-control"></select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">岗位:</label>
<div class="col-sm-8">
<select name="postName" th:field="*{postName}" class="form-control"></select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">姓名:</label>
<div class="col-sm-8">
<select name="userName" th:field="*{userName}" class="form-control"></select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">关联单号:</label>
<div class="col-sm-8">
<input name="correlationCode" th:field="*{correlationCode}" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label" for="zozjVerifyApproved"><span style="color: red; ">*</span>审批意见:</label>
<div class="col-sm-8">
<select name="p_B_zozjVerifyApproved" id="zozjVerifyApproved" class="form-control m-b" required>
<option value=""></option>
<option value="true">同意</option>
<option value="false">拒绝</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">批注:</label>
<div class="col-sm-8">
<textarea name="comment" class="form-control"></textarea>
</div>
</div>
</form> </form>
<div class="container">
<div class="form-row">
<div class="btn-group-sm" id="toolbar" role="group">
<span>选择报价信息</span>
</div>
</div>
<div class="row">
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-sub-table-requisitionChild"></table>
</div>
</div>
</div>
</div> </div>
<th:block th:include="include :: footer" /> <th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" /> <th:block th:include="include :: datetimepicker-js" />
<script th:src="@{/js/activiti.js}"></script>
<script th:inline="javascript"> <script th:inline="javascript">
var prefix = ctx + "system/requisitioning"; var prefix = ctx + "system/requisitioning";
var taskId = [[${taskId}]];
var requisitioningCode = [[${formData.requisitioningCode}]];
$("#form-requisitioning-zozj-audit").validate({focusCleanup: true}); $("#form-requisitioning-zozj-audit").validate({focusCleanup: true});
$(function() {
var options = {
id:'bootstrap-sub-table-requisitionChild',
url: ctx + "system/requisitioningChild/list",
pagination: false,
sidePagination: "client",
queryParams: queryParams,
model: "物料报价信息",
columns: [
{checkbox: true},
{field: 'index',align: 'center', title: "序号",
formatter: function (value, row, index,column) {
return $.table.serialNumber(index) - 1;
}
},
{title: '物料索引id',field: 'materialId',align: 'center',visible: false},
{title: '料号',field: 'materialCode',align: 'center'},
{title: '物料名称',field: 'materialName',align: 'center'},
{title: '图片',field: 'photoUrl',
formatter: function(value, row, index) {
return $.table.imageView(value);
}
},
{title: '物料类型',field: 'materialType',align: 'center',
formatter: function(value, row, index) {
return $.table.selectCategoryLabel(materialTypeDatas, value);
}
},
{ title: '描述',field: 'describe',align: 'center'},
{title: '品牌',field: 'brand',align: 'center'},
{ title: '单位',field: 'unit',align: 'center',},
{title: '加工方式',field: 'processMethod',align: 'center',
formatter: function(value, row, index) {
return $.table.selectDictLabel(processMethodDatas, value);
}
},
{title: '入库部门',field: 'warehouseDept',align: 'center',},
{title: '物料的数量', field: 'materialNum',align: 'center',},
{title: '物料的不含税单价(RMB)',field: 'materialNoRmb',align: 'center',},
{title: '物料的含税单价(RMB)',field: 'materialRmb',align: 'center',},
{title: '物料的含税总价(RMB)',field: 'materialNoRmbSum',align: 'center',},
{title: '物料的不含税总价(RMB)',field: 'materialRmbSum',align: 'center',},
{title: '录入人',field: 'createBy',align: 'center',visible: false},
{title: '录入时间',field: 'createTime',align: 'center',visible: false },
{title: '更新人',field: 'updateBy',align: 'center',visible: false},
{title: '上次更新时间',field: 'updateTime',align: 'center',visible: false},
{title: '备注',field: 'remark',align: 'center'},
]
};
$.table.init(options);
});
function queryParams(params) {
var curParams = {
// 传递参数查询参数
pageSize: params.limit,
pageNum: params.offset / params.limit + 1,
requisitioningCode: requisitioningCode
};
return curParams;
}
function submitHandler() { function submitHandler() {
if ($.validate.form()) { if ($.validate.form()) {
if ($('textarea[name="comment"]').val()) {
$('input[name="p_COM_comment"]').val($('textarea[name="comment"]').val());
}
$.operate.save(prefix + "/complete/"+taskId, $('#form-requisitioning-zozj-audit').serialize()); $.operate.save(prefix + "/complete/"+taskId, $('#form-requisitioning-zozj-audit').serialize());
} }
} }
$(function() {
function getSelections(){ getSelections();
$.ajax({ var options = {
url: ctx + "system/requisitioning/getEmpUserName", id:'bootstrap-sub-table-requisitionChild',
type: "get", url: ctx + "system/requisitioningChild/list",
dataType: "json", pagination: false,
success: function (data) { sidePagination: "client",
$("select[name='deptName']").append($('<option></option>').val(data.deptName).html(data.deptName)); queryParams: function(params) {
$("select[name='evectionBy']").append($('<option></option>').val(data.userName).html(data.userName)); var temp = {
$("select[name='postName']").append($('<option></option>').val(data.postName).html(data.postName)); requisitioningCode: requisitioningCode,
} };
}); return temp;
},
} model: "物料报价信息",
columns: [
{checkbox: true},
{field: 'index',align: 'center', title: "序号",
formatter: function (value, row, index) {
var columnIndex = $.common.sprintf("<input type='hidden' name='index' value='%s'>", $.table.serialNumber(index));
return columnIndex + $.table.serialNumber(index);
}
},
{title: '物料索引id',field: 'materialId',align: 'center',visible: false},
{title: '料号',field: 'materialCode',align: 'center'},
{title: '物料名称',field: 'materialName',align: 'center'},
{title: '图片',field: 'photoUrl',
formatter: function(value, row, index) {
return $.table.imageView(value);
}
},
{title: '物料类型',field: 'materialType',align: 'center',
formatter: function(value, row, index) {
return $.table.selectCategoryLabel(materialTypeDatas, value);
}
},
{ title: '描述',field: 'describe',align: 'center'},
{title: '品牌',field: 'brand',align: 'center'},
{ title: '单位',field: 'unit',align: 'center',
formatter: function(value, row, index) {
return $.table.selectDictLabel(sysUnitClassDatas, value);
}
},
{title: '加工方式',field: 'processMethod',align: 'center',
formatter: function(value, row, index) {
return $.table.selectDictLabel(processMethodDatas, value);
}
},
{title: '入库部门',field: 'warehouseDept',align: 'center',},
{title: '物料的数量', field: 'materialNum',align: 'center',editable: true,},
{title: '物料的不含税单价(RMB)',field: 'materialNoRmb',align: 'center',},
{title: '物料的含税单价(RMB)',field: 'materialRmb',align: 'center',},
{title: '物料的含税总价(RMB)',field: 'materialNoRmbSum',align: 'center',},
{title: '物料的不含税总价(RMB)',field: 'materialRmbSum',align: 'center',},
{title: '录入人',field: 'createBy',align: 'center',visible: false},
{title: '录入时间',field: 'createTime',align: 'center',visible: false },
{title: '更新人',field: 'updateBy',align: 'center',visible: false},
{title: '上次更新时间',field: 'updateTime',align: 'center',visible: false},
{title: '备注',field: 'remark',align: 'center'},
],
onEditableSave:function(field, row, oldValue, $el){
row.materialNoRmbSum = Number(row.materialNum * Number(row.materialNoRmb)).toFixed(2);
row.materialRmbSum = Number(row.materialRmb * row.materialNum).toFixed(2);
},
};
$.table.init(options);
});
</script> </script>
</body> </body>
</html> </html>
Loading…
Cancel
Save