Commit 57bf2fd7 authored by tangqh's avatar tangqh

Merge branch 'custom-for-wangli' of 182.92.242.253:originstar/drp into custom-for-wangli

parents 3834774b 419b27f1
package com.originspark.drp.controllers.projects.costs;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
......@@ -31,18 +32,18 @@ public class StockOutCostController extends BaseController{
@RequestMapping(method = RequestMethod.POST)
@ResponseBody
public String create(@RequestBody StockOutCost stockOutCost,HttpServletRequest request) {
public String create(@RequestBody StockOutCost stockOutCost) {
StockOutInvoice invoiceUI = stockOutCost.getInvoice();
if(invoiceUI == null){
return failure("所选出库单不能为空");
}
StockOutInvoice invoice = stockOutInvoiceService.findById(invoiceUI.getId());
if(invoice == null){
return failure("你所选择的入库单不存在,请重新选择");
}
//检查该商品是否已经存在
boolean have = false;
for(StockOutCost cost : invoice.getCosts()){
......@@ -51,13 +52,14 @@ public class StockOutCostController extends BaseController{
break;
}
}
if(have){
return failure("抱歉,不能重复添加商品");
}
stockOutCost.setCreatedBy(SessionUtil.getCurrentUserName(request));
stockOutCost.setForDate(invoice.getForDate());
stockOutCost.setCreatedOn(new Date());
stockOutCost.setCreatedBy(getCurrentUser().getName());
stockOutCost.setUpdatedOn(new Date());
service.save(stockOutCost);
return ok("创建成功");
}
......
......@@ -3,8 +3,6 @@ package com.originspark.drp.controllers.projects.invoices;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
......
......@@ -16,42 +16,22 @@ import org.springframework.web.bind.annotation.ResponseBody;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.originspark.drp.models.projects.invoices.StockOutInvoice;
import com.originspark.drp.util.SessionUtil;
import com.originspark.drp.util.enums.AuditState;
import com.originspark.drp.util.json.AuditStateUpdateJson;
import com.originspark.drp.util.json.IdsJson;
import com.originspark.drp.util.json.FilterRequest;
import com.originspark.drp.util.json.IdsJson;
import com.originspark.drp.util.json.JsonUtils;
@Controller
@RequestMapping("stockOutInvoice")
@RequestMapping("invoices/out")
public class StockOutInvoiceController extends AbstractInvoiceController {
private Logger logger = Logger.getLogger(StockOutInvoiceController.class);
/* @RequestMapping(method = RequestMethod.POST)
@RequestMapping(method = RequestMethod.POST)
@ResponseBody
public String create(@RequestBody StockOutInvoice invoice,HttpServletRequest request) {
Project systemUI = invoice.getSystem();
if (systemUI == null) {
return failure("所选系统不能为空");
}
Project system = projectService.findById(systemUI.getId());
if (system == null) {
return failure("你所选择的系统不存在,请重新选择");
}
invoice.setMaterialKeeperName(system.getMaterialKeeperName());
invoice.setWareKeeperName(system.getWareKeeperName());
invoice.setProjectManagerName(system.getProjectManagerName());
String currentUserName = SessionUtil.getCurrentUserName(request);
invoice.setCreatedByUserName(currentUserName);
public String create(@RequestBody StockOutInvoice invoice) {
invoice.setCreatedBy(getCurrentUser().getName());
StockOutInvoice savedInvoice = stockOutInvoiceService.save(invoice);
return ok("系统确认成功", savedInvoice.getId());
return ok("信息确认成功", savedInvoice.getId());
}
@RequestMapping(value = "/deleteBatch", method = RequestMethod.GET)
......@@ -86,30 +66,18 @@ public class StockOutInvoiceController extends AbstractInvoiceController {
@RequestMapping(value = "/{id}", method = RequestMethod.PUT)
@ResponseBody
public String update(@PathVariable Long id, @RequestBody StockOutInvoice invoice,HttpServletRequest request) {
public String update(@PathVariable Long id, @RequestBody StockOutInvoice invoice) {
StockOutInvoice existingInvoice = stockOutInvoiceService.findById(StockOutInvoice.class, id);
if (existingInvoice == null) {
return failure("您要更新的库单不存在");
return failure("您要更新的库单不存在");
}
Project systemUI = invoice.getSystem();
if (systemUI != null) {
if (systemUI.getId() != null) {
Project system = projectService.findById(systemUI.getId());
existingInvoice.setSystem(system);
}
}
existingInvoice.setForDate(invoice.getForDate());
existingInvoice.setCode(invoice.getCode());
existingInvoice.setTotalPrice(invoice.getTotalPrice());
existingInvoice.setUpdatedByUserName(SessionUtil.getCurrentUserName(request));
existingInvoice.setUpdatedBy(getCurrentUser().getName());
stockOutInvoiceService.update(existingInvoice);
return ok("更新成功", existingInvoice.getId());
}*/
}
@RequestMapping(method = RequestMethod.GET)
@ResponseBody
......@@ -126,45 +94,4 @@ public class StockOutInvoiceController extends AbstractInvoiceController {
return ok(data, count);
}
/*@RequestMapping(value = "/updateAuditState", method = RequestMethod.GET)
@ResponseBody
public String updateAuditStateByUser(HttpServletRequest request) {
String data = request.getParameter("data");
ObjectMapper mapper = new ObjectMapper();
AuditStateUpdateJson json = null;
try {
json = mapper.readValue(data, AuditStateUpdateJson.class);
} catch (Exception e) {
return failure("提交数据有误");
}
if (json == null) {
return failure("没有需要审核的数据");
}
// 对当前登录用户的验证
AbstractUser user = SessionUtil.getCurrentUser(request);
Long userId = json.getUserId();
String userType = json.getUserType();
if (user.getId() != userId || !user.getType().equals(userType)) {
return failure("操作失败,无审核权限");
}
AuditState state = json.getState();
for (Long id : json.getInvoiceIds()) {
if(id == null){
continue;
}
StockOutInvoice outInvoice = stockOutInvoiceService.findById(StockOutInvoice.class, id);
updateState(outInvoice, userType, state);
stockOutInvoiceService.update(outInvoice);
}
return ok("提交成功");
}*/
}
......@@ -23,8 +23,8 @@ public abstract class AbstractModel {
/**
* 维护信息:记录创建日期
*/
@Column(name="createOn", nullable=false)
private Date createOn;
@Column(name="createdOn", nullable=false)
private Date createdOn;
/**
* 维护信息:记录创建者
......@@ -35,8 +35,8 @@ public abstract class AbstractModel {
/**
* 维护信息:记录更新日期
*/
@Column(name="updateOn", nullable=false)
private Date updateOn;
@Column(name="updatedOn", nullable=false)
private Date updatedOn;
/**
* 维护信息:记录更新者
......@@ -58,12 +58,12 @@ public abstract class AbstractModel {
this.id = id;
}
public Date getCreateOn() {
return createOn;
public Date getCreatedOn() {
return createdOn;
}
public void setCreateOn(Date createOn) {
this.createOn = createOn;
public void setCreatedOn(Date createdOn) {
this.createdOn = createdOn;
}
public String getCreatedBy() {
......@@ -74,12 +74,12 @@ public abstract class AbstractModel {
this.createdBy = createdBy;
}
public Date getUpdateOn() {
return updateOn;
public Date getUpdatedOn() {
return updatedOn;
}
public void setUpdateOn(Date updateOn) {
this.updateOn = updateOn;
public void setUpdatedOn(Date updatedOn) {
this.updatedOn = updatedOn;
}
public String getUpdatedBy() {
......@@ -100,17 +100,17 @@ public abstract class AbstractModel {
@PrePersist
private void prePersist() {
createOn = new Date();
updateOn = createOn;
createdOn = new Date();
updatedOn = createdOn;
}
@PreUpdate
private void preUpdate(){
updateOn = new Date();
updatedOn = new Date();
}
@Override
public String toString() {
return "id="+id+", updateOn="+updateOn;
return "id="+id+", updateOn="+updatedOn;
}
}
\ No newline at end of file
......@@ -24,10 +24,16 @@ public class StockOutInvoice extends AbstractInvoice{
@OneToMany(mappedBy="invoice")
private List<StockOutCost> costs;
//TODO 将receiveMan、receiveAddress、receivePhone抽取为trader?
/**
* 联系地址
*/
private String address;
private String receiveAddress;
/**
* 联系电话
*/
private String receivePhone;
public List<StockOutCost> getCosts() {
return costs;
......@@ -37,12 +43,20 @@ public class StockOutInvoice extends AbstractInvoice{
this.costs = costs;
}
public String getAddress() {
return address;
public String getReceiveAddress() {
return receiveAddress;
}
public void setReceiveAddress(String receiveAddress) {
this.receiveAddress = receiveAddress;
}
public String getReceivePhone() {
return receivePhone;
}
public void setAddress(String address) {
this.address = address;
public void setReceivePhone(String receivePhone) {
this.receivePhone = receivePhone;
}
public int getCostCount(){
......
......@@ -183,6 +183,18 @@ public class Ware extends AbstractModel {
this.inventories = inventories;
}
public int getCountOfInCosts(){
return getInCosts().size();
}
public int getCountOfOutCosts(){
return getOutCosts().size();
}
public int getCountOfInventories(){
return getInventories().size();
}
@Override
public String toString() {
return "Ware(商品) => [" + super.toString() + ", name=" + name + ", brand=" + brand + ", model=" + model + ", unit=" + unit + "]";
......@@ -194,20 +206,19 @@ public class Ware extends AbstractModel {
Vendor vendor = getVendor();
if (vendor != null) {
vendorUI.put("id", vendor.getId());
vendorUI.put("name", vendor.getName());
vendorUI.put("contactMan", vendor.getContactMan());
}
return vendorUI;
}
public int getCountOfInCosts(){
return getInCosts().size();
}
public int getCountOfOutCosts(){
return getOutCosts().size();
}
public int getCountOfInventories(){
return getInventories().size();
@JsonProperty("category")
public Map<String, Object> getCategoryUI() {
Map<String, Object> categoryUI = new HashMap<String, Object>();
WareCategory category = getCategory();
if (category != null) {
categoryUI.put("id", category.getId());
categoryUI.put("name", category.getName());
}
return categoryUI;
}
}
......@@ -3,7 +3,7 @@
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: 2015-03-17 07:44:48
-- Generation Time: 2015-03-18 05:10:34
-- 服务器版本: 5.6.20
-- PHP Version: 5.5.15
......@@ -28,10 +28,11 @@ SET time_zone = "+00:00";
CREATE TABLE IF NOT EXISTS `users` (
`id` bigint(20) NOT NULL,
`create_on` datetime DEFAULT NULL,
`created_by` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL,
`update_on` datetime DEFAULT NULL,
`created_on` datetime NOT NULL,
`status` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`updated_by` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL,
`updated_on` datetime NOT NULL,
`address` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`code` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`email` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
......@@ -39,7 +40,6 @@ CREATE TABLE IF NOT EXISTS `users` (
`name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`password` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`phone` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`status` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`type` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`username` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=2 ;
......@@ -48,8 +48,8 @@ CREATE TABLE IF NOT EXISTS `users` (
-- 转存表中的数据 `users`
--
INSERT INTO `users` (`id`, `create_on`, `created_by`, `update_on`, `updated_by`, `address`, `code`, `email`, `gender`, `name`, `password`, `phone`, `status`, `type`, `username`) VALUES
(1, NULL, NULL, '2015-03-17 14:44:18', NULL, NULL, NULL, NULL, NULL, 'admin', '17a73b924892695ff91e16b35ce100b7c64928e43d5a170a', NULL, 'ACTIVE', 'MANAGER', 'admin');
INSERT INTO `users` (`id`, `created_by`, `created_on`, `status`, `updated_by`, `updated_on`, `address`, `code`, `email`, `gender`, `name`, `password`, `phone`, `type`, `username`) VALUES
(1, NULL, '2015-03-18 11:25:34', 'ACTIVE', NULL, '2015-03-18 12:10:12', '', 'admin', '', 'MALE', 'admin', '17a73b924892695ff91e16b35ce100b7c64928e43d5a170a', '1324332345', 'MANAGER', NULL);
--
-- Indexes for dumped tables
......
......@@ -234,7 +234,7 @@ Ext.define("drp.app.controller.projects.invoices.StockInInvoiceController", {
store.removeAll(false);
inInvoiceCostWin.down('#addStockInCost_btn').setDisabled(true);
inInvoiceCostWin.down('#totalPrice_stockInCost_df').setValue(0);
inInvoiceCostWin.down('#systemInfo_stockInCost_form').getForm().reset();
inInvoiceCostWin.down('#header_stockInCost_form').getForm().reset();
inInvoiceCostWin.down('#stockInCost_form').getForm().reset();
inInvoiceCostWin.setTitle("新增入库单");
......@@ -303,8 +303,7 @@ Ext.define("drp.app.controller.projects.invoices.StockInInvoiceController", {
currentInvoice.set("forDate",panel.down('#forDate_stockInInvoice_df').getValue());
currentInvoice.set("code",panel.down('#code_stockInInvoice_tf').getValue());
currentInvoice.set("totalPrice",totalPrice_stockInCost);
currentInvoice.set("system", null);
currentInvoice.save({
success : function(response, operation) {
invoiceGrid.getStore().load();
......
......@@ -9,84 +9,84 @@ Ext.define("drp.app.controller.projects.invoices.StockOutInvoiceController", {
currentInvoice : null,
outCostGrid : null,
outCostForm : null,
outInvoiceCostWin : null,//costWin默认是未创建的
outInvoiceCostWin : null,// costWin默认是未创建的
invoiceCostWin : null,
wareWindow : null,
init : function() {
me = this;
this.control({
'stockoutinvoiceview' : {
afterrender : function(panel) {
outInvoiceCostWin = false;
invoiceCostWin = false;
currentInvoice = null;
wareWindow= false;
wareWindow = false;
invoiceGrid = panel.down('gridpanel');
invoiceGrid.getStore().load();
}
},
//stock_in_invoice filter
// stock_in_invoice filter
'stockoutinvoiceview > gridpanel' : {
itemdblclick : this.showUpdateOutInvoiceForm
},
//stock_in_invoice search
// stock_in_invoice search
'stockoutinvoiceview button[action=searchStockOutInvoice]' : {
click : this.searchStockOutInvoice
},
//stock_in_invoice add
// stock_in_invoice add
'stockoutinvoiceview button[action=showAddOutInvoiceUI]' : {
click : this.showCreateOutInvoiceForm
},
//stock_in_invoice delete
// stock_in_invoice delete
'stockoutinvoiceview button[action=deleteOutInvoice]' : {
click : this.deleteOutInvoice
},
//stock_in_invoice approve-submit
// stock_in_invoice approve-submit
'stockoutinvoiceview button[action=approveOutInvoice]' : {
click : this.approveOutInvoice
},
//stock_in_invoice unapprove-submit
// stock_in_invoice unapprove-submit
'stockoutinvoiceview button[action=unapproveOutInvoice]' : {
click : this.unapproveOutInvoice
},
//----------------------------------------------------------------
// ----------------------------------------------------------------
'stockoutcostview' : {
afterrender : function(panel) {
outCostGrid = panel.down('grid');
outCostForm = panel.down('#stockOutCost_form');
//设置只能选择、检索,不能增加删除
// 设置只能选择、检索,不能增加删除
},
beforehide : this.updateInvoiceTotalPrice
},
//stock_in_cost add system info
'stockoutcostview button[action=addSystemInfo]' : {
click : this.addSystemInfo
'stockoutcostview button[action=confirmInvoiceHeader]' : {
click : this.confirmInvoiceHeader
},
//stock_in_cost save
// stock_in_cost save
'stockoutcostview button[action=saveStockOutCost]' : {
click : this.saveStockOutCost
},
//stock_in_cost delete
// stock_in_cost delete
'stockoutcostview button[action=deleteStockOutCost]' : {
click : this.deleteStockOutCost
},
//stock_in_cost choose ware
// stock_in_cost choose ware
'stockoutcostview button[action=chooseWare]' : {
click : function(btn){
click : function(btn) {
// 加载弹窗相关的controller
if(!wareWindow){
if (!wareWindow) {
wareWindow = Ext.widget('warewindow');
var WareControllerName = "drp.app.controller.resources.WareController";
if (!Ext.ClassManager.isCreated(WareControllerName)) {
......@@ -95,31 +95,31 @@ Ext.define("drp.app.controller.projects.invoices.StockOutInvoiceController", {
}
}
wareWindow.show();
}
}
},
//-----------------------------------------------------------
'warewindow' :{
// -----------------------------------------------------------
'warewindow' : {
afterrender : function(panel) {
//设置只能选择、检索,不能增加删除
// 设置只能选择、检索,不能增加删除
panel.down('toolbar').setVisible(false);
}
},
'warewindow gridpanel' : {
itemcontextmenu : function(view, record, item, index, e){
itemcontextmenu : function(view, record, item, index, e) {
// 禁用浏览器自带的右键菜单
e.preventDefault();
e.stopEvent();
var wareName = record.data.name;
Ext.create('Ext.menu.Menu', {
minWidth : 0,
width : 62+(wareName.length)*13,
width : 62 + (wareName.length) * 13,
items : [{
text : '选择<font color="red">'+wareName+'</font>',
text : '选择<font color="red">' + wareName + '</font>',
icon : 'resources/images/icons/ok.png',
listeners : {
click : function(item){
click : function(item) {
wareWindow.hide();
var costForm = outInvoiceCostWin.down('#stockOutCost_form');
costForm.down('#wareName_stockOutCost_tf').setValue(record.data.name);
......@@ -135,18 +135,18 @@ Ext.define("drp.app.controller.projects.invoices.StockOutInvoiceController", {
});
},
//出库单-查询
searchStockOutInvoice : function(btn){
// 出库单-查询
searchStockOutInvoice : function(btn) {
var store = invoiceGrid.getStore();
var form = btn.up("form");
store.filters.clear();
store.filter([ {
store.filter([{
property : "startDate",
value : Ext.Date.format(form.down("#startDate_filter").getValue(),'Y-m-d')
value : Ext.Date.format(form.down("#startDate_filter").getValue(), 'Y-m-d')
}, {
property : "endDate",
value : Ext.Date.format(form.down("#endDate_filter").getValue(),'Y-m-d')
value : Ext.Date.format(form.down("#endDate_filter").getValue(), 'Y-m-d')
}, {
property : "minTotal",
value : form.down("#minTotal_filter").getValue()
......@@ -156,7 +156,7 @@ Ext.define("drp.app.controller.projects.invoices.StockOutInvoiceController", {
}, {
property : "wareName",
value : form.down("#wareName_filter").getValue()
}, {
}, {
property : "receiveManName",
value : form.down("#receiveManName_filter").getValue()
}, {
......@@ -168,10 +168,10 @@ Ext.define("drp.app.controller.projects.invoices.StockOutInvoiceController", {
}, {
property : "managerName",
value : form.down("#managerName_filter").getValue()
} ]);
}]);
},
//入库商品-删除
// 入库商品-删除
deleteStockOutCost : function(btn) {
me.deleteModel(btn, outCostGrid, "商品条目");
var grid = outCostGrid;
......@@ -203,17 +203,17 @@ Ext.define("drp.app.controller.projects.invoices.StockOutInvoiceController", {
}
},
//入库商品-提交保存
// 入库商品-提交保存
saveStockOutCost : function(btn) {
var modelName = "drp.app.model.projects.costs.StockOutCostModel";
var form = btn.up("form").getForm();
if (form.isValid()) {
var formBean = form.getValues();
var model = Ext.create(modelName, formBean);
if(formBean.id){
model.set("ware",null);
model.set("invoice",null);
}else{
if (formBean.id) {
model.set("ware", null);
model.set("invoice", null);
} else {
model.set("ware", {
id : formBean['wareId']
});
......@@ -221,8 +221,8 @@ Ext.define("drp.app.controller.projects.invoices.StockOutInvoiceController", {
id : currentInvoice.data.id
});
}
if(formBean.unitPrice == ""){
model.set("unitPrice",0);
if (formBean.unitPrice == "") {
model.set("unitPrice", 0);
}
model.save({
success : function(response, operation) {
......@@ -241,47 +241,39 @@ Ext.define("drp.app.controller.projects.invoices.StockOutInvoiceController", {
}
},
//出库单-新增
// 出库单-新增
showCreateOutInvoiceForm : function() {
if(!outInvoiceCostWin){
if (!outInvoiceCostWin) {
outInvoiceCostWin = Ext.widget('stockoutcostview');
}
var store = outInvoiceCostWin.down("gridpanel").getStore();
//在弹出新建出库单的页面之前,需要做三部分工作:清空store、合价设置为0
// 在弹出新建出库单的页面之前,需要做三部分工作:清空store、合价设置为0
currentInvoice = null;
store.removeAll(false);
outInvoiceCostWin.down('#addStockOutCost_btn').setDisabled(true);
outInvoiceCostWin.down('#totalPrice_stockOutCost_df').setValue(0);
outInvoiceCostWin.down('#systemInfo_stockOutCost_form').getForm().reset();
outInvoiceCostWin.down('#header_stockOutCost_form').getForm().reset();
outInvoiceCostWin.down('#stockOutCost_form').getForm().reset();
//设置bottom toolbar
var wareKeeperName = outInvoiceCostWin.down('#wareKeeperName_df');
var materialKeeperName = outInvoiceCostWin.down('#materialKeeperName_df');
var projectManagerName = outInvoiceCostWin.down('#projectManagerName_df');
wareKeeperName.setValue("");
materialKeeperName.setValue("");
projectManagerName.setValue("");
outInvoiceCostWin.setTitle("新增出库单");
outInvoiceCostWin.show();
},
showUpdateOutInvoiceForm : function( grid, record, item, index){
currentInvoice = record;//在弹出更新的窗口时,保存选中的invoice
showUpdateOutInvoiceForm : function(grid, record, item, index) {
currentInvoice = record;// 在弹出更新的窗口时,保存选中的invoice
var invoiceData = record.data;
var costWin = null;
//1.非材料员登陆的,只提供预览
//2.若是材料员,则pass=true的和已经通过审核的,只提供预览
if(user.type != "MaterialKeeper" || invoiceData.pass || invoiceData.materialKeeperAuditState =="APPROVED"){
if(!invoiceCostWin){
// 1.非材料员登陆的,只提供预览
// 2.若是材料员,则pass=true的和已经通过审核的,只提供预览
if (user.type != "WAREKEEPER") {
if (!invoiceCostWin) {
invoiceCostWin = Ext.widget('stockoutcostshowview');
}
costWin = invoiceCostWin;
invoiceCostWin.setTitle("查看出库单");
}else{
if(!outInvoiceCostWin){
} else {
if (!outInvoiceCostWin) {
outInvoiceCostWin = Ext.widget('stockoutcostview');
}
costWin = outInvoiceCostWin;
......@@ -289,54 +281,47 @@ Ext.define("drp.app.controller.projects.invoices.StockOutInvoiceController", {
costWin.down('#stockOutCost_form').getForm().reset();
outInvoiceCostWin.setTitle("更新出库单");
}
var store = costWin.down("gridpanel").getStore();
store.filters.clear();
store.filter([{
property : "invoice",
value : currentInvoice.data.id
}]);
costWin.down('#systemInfo_stockOutCost_form').loadRecord(record);
//设置bottom form
costWin.down('#header_stockOutCost_form').loadRecord(record);
// 设置bottom form
var managerName = costWin.down('#managerName_df');
var wareKeeperName = costWin.down('#wareKeeperName_df');
var materialKeeperName = costWin.down('#materialKeeperName_df');
var projectManagerName = costWin.down('#projectManagerName_df');
var receiveMan = costWin.down('#receiveMan_df');
wareKeeperName.setValue(invoiceData['materialKeeperName']);
materialKeeperName.setValue(invoiceData['materialKeeperName']);
projectManagerName.setValue(invoiceData['projectManagerName']);
receiveMan.setValue(invoiceData['receiveMan']);
var regulatorName = costWin.down('#regulatorName_df');
managerName.setValue(record.data['manager']);
wareKeeperName.setValue(record.data['wareKeeper']);
regulatorName.setValue(record.data['regulator']);
costWin.show();
},
//出库单-删除
// 出库单-删除
deleteOutInvoice : function(btn) {
me.deleteBatchModel(btn,invoiceGrid,"出库单","/stockOutInvoice/deleteBatch");
me.deleteBatchModel(btn, invoiceGrid, "出库单", "/invoices/out/deleteBatch");
},
//出库单-更新总价
updateInvoiceTotalPrice : function(panel){
// 出库单-更新总价
updateInvoiceTotalPrice : function(panel) {
panel.down('#chooseWare_stockOutCost_btn').setDisabled(true);
var totalPrice_stockOutCost = panel.down('#totalPrice_stockOutCost_df').getValue();
if(!currentInvoice){
if (!currentInvoice) {
return;
}
if(currentInvoice.data.totalPrice == totalPrice_stockOutCost){
if (currentInvoice.data.totalPrice == totalPrice_stockOutCost) {
return;
}
currentInvoice.set("forDate",panel.down('#forDate_stockOutInvoice_df').getValue());
currentInvoice.set("code",panel.down('#code_stockOutInvoice_tf').getValue());
currentInvoice.set("totalPrice",totalPrice_stockOutCost);
currentInvoice.set("system", null);
currentInvoice.set("materialKeeperAuditState", null);
currentInvoice.set("wareKeeperAuditState",null);
currentInvoice.set("projectManagerAuditState", null);
currentInvoice.set("forDate", panel.down('#forDate_stockOutInvoice_df').getValue());
currentInvoice.set("code", panel.down('#code_stockOutInvoice_tf').getValue());
currentInvoice.set("totalPrice", totalPrice_stockOutCost);
currentInvoice.save({
success : function(response, operation) {
invoiceGrid.getStore().load();
......@@ -347,113 +332,17 @@ Ext.define("drp.app.controller.projects.invoices.StockOutInvoiceController", {
});
},
approveOutInvoice : function(btn){
var state = "APPROVED";
var records = invoiceGrid.getSelectionModel().getSelection();
var ids = [];
var index = 0;
for(var i = 0,len = records.length;i<len;i++){
var record = records[i].data;
if(record.pass){
continue;
}
if(user.type=="MaterialKeeper"){
if(record.materialKeeperAuditState !="APPROVED" && record.costCount>0){
ids[index] = record.id;
index++;
}
}else if(user.type=="WareKeeper"){
if(record.materialKeeperAuditState =="APPROVED" && record.wareKeeperAuditState == "UNAUDITED" && record.projectManagerAuditState == "UNAUDITED"){
ids[index] = record.id;
index++;
}
}else if(user.type=="ProjectManager"){
if(record.wareKeeperAuditState == "APPROVED" && record.projectManagerAuditState == "UNAUDITED"){
ids[index] = record.id;
index++;
}
}
}
if(ids.length == 0){
Ext.Msg.alert("提交退回", "该出库单已被提交或者还未添加商品");
return;
}
var data = new Object({
invoiceIds : ids,
userType : user.type,
userId : user.id,
state : state
});
Ext.Ajax.request({
url : "stockOutInvoice/updateAuditState",
method : "GET",
params : {
data : Ext.encode(data)
},
success : function(response, operation){
var resp = Ext.decode(response.responseText);
Ext.Msg.alert("成功!", resp.message);
invoiceGrid.getStore().load();
},
failure : function(resp, operation) {
Ext.Msg.alert("失败!", operation.request.scope.reader.jsonData["message"]);
}
});
},
unapproveOutInvoice : function(){
//me.submitOutInvoiceToAudit("UNAPPROVED");
var state = "UNAPPROVED";
var records = invoiceGrid.getSelectionModel().getSelection();
var ids = [];
for(var i = 0,len = records.length;i<len;i++){
ids[i] = records[i].data.id;
}
var data = new Object({
invoiceIds : ids,
userType : user.type,
userId : user.id,
state : state
});
Ext.Ajax.request({
url : "stockOutInvoice/updateAuditState",
method : "GET",
params : {
data : Ext.encode(data)
},
success : function(response, operation){
var resp = Ext.decode(response.responseText);
Ext.Msg.alert("成功!", resp.message);
invoiceGrid.getStore().load();
},
failure : function(resp, operation) {
Ext.Msg.alert("失败!", operation.request.scope.reader.jsonData["message"]);
}
});
},
addSystemInfo : function(btn){
confirmInvoiceHeader : function(btn) {
var modelName = "drp.app.model.projects.invoices.StockOutInvoiceModel";
var form = btn.up("form").getForm();
if (form.isValid()) {
var formBean = form.getValues();
var model = Ext.create(modelName, formBean);
model.set("system", {
id : formBean['system.id']
});
model.set("materialKeeperAuditState", null);
model.set("wareKeeperAuditState",null);
model.set("projectManagerAuditState", null);
model.save({
success : function(response, operation){
success : function(response, operation) {
invoiceGrid.getStore().load();
var reader = operation.request.scope.reader;
currentInvoice = Ext.create(modelName,{
currentInvoice = Ext.create(modelName, {
id : reader.jsonData["object"]
});
btn.up("form").down('#id_stockOutInvoice').setValue(reader.jsonData["object"]);
......@@ -467,18 +356,9 @@ Ext.define("drp.app.controller.projects.invoices.StockOutInvoiceController", {
}
},
models : ["drp.app.model.projects.invoices.StockOutInvoiceModel",
"drp.app.model.projects.costs.StockOutCostModel",
"drp.app.model.resources.WareModel"],
stores : ["drp.app.store.projects.invoices.StockOutInvoiceStore",
"drp.app.store.projects.costs.StockOutCostStore",
"drp.app.store.projects.ProjectDataStore",
"drp.app.store.resources.WareStore",
"drp.app.store.resources.VendorStore"],
views : ["drp.app.view.projects.invoices.StockOutInvoiceView",
"drp.app.view.projects.costs.StockOutCostView",
"drp.app.view.projects.costs.StockOutCostShowView",
"drp.app.view.resources.WareView",
"drp.app.view.resources.WareWindow",
"drp.app.view.resources.WareViewForm" ]
models : ["drp.app.model.projects.invoices.StockOutInvoiceModel", "drp.app.model.projects.costs.StockOutCostModel", "drp.app.model.resources.WareModel"],
stores : ["drp.app.store.projects.invoices.StockOutInvoiceStore", "drp.app.store.projects.costs.StockOutCostStore", "drp.app.store.resources.WareStore",
"drp.app.store.resources.VendorStore", "drp.app.store.users.ManagerStore", "drp.app.store.users.WareKeeperStore", "drp.app.store.users.RegulatorStore"],
views : ["drp.app.view.projects.invoices.StockOutInvoiceView", "drp.app.view.projects.costs.StockOutCostView", "drp.app.view.projects.costs.StockOutCostShowView",
"drp.app.view.resources.WareView", "drp.app.view.resources.WareWindow", "drp.app.view.resources.WareViewForm"]
});
\ No newline at end of file
Ext.define("drp.app.model.projects.invoices.StockOutInvoiceModel", {
extend : "drp.app.model.projects.invoices.AbstractInvoiceModel",
fields : [{
name : "address"
} ],
name : "receiveAddress"
}, {
name : "receivePhone"
}],
proxy : {
type : 'rest',
url : 'invoices/out',
......
......@@ -30,7 +30,7 @@ Ext.define('drp.app.view.projects.resources.StockInCostView', {
height: 70,
items : [{
xtype : 'form',
itemId : 'systemInfo_stockInCost_form',
itemId : 'header_stockInCost_form',
items : [{
xtype : 'fieldcontainer',
layout : 'column',
......@@ -43,7 +43,7 @@ Ext.define('drp.app.view.projects.resources.StockInCostView', {
margin : '5 0 0 15',
width : 200,
labelWidth: 60
}, {
}, {
xtype: 'datefield',
fieldLabel: '日期<font color="red">*</font>',
margin : '5 0 0 15',
......
......@@ -12,7 +12,7 @@ Ext.define('drp.app.view.projects.resources.StockOutCostShowView', {
resizable : false,
initComponent : function() {
var me = this;
Ext.applyIf(me, {
items : [{//<<<<<<<<<<<<<<<<<<<<入库单-抬头字段
......@@ -22,39 +22,46 @@ Ext.define('drp.app.view.projects.resources.StockOutCostShowView', {
height: 40,
items : [{
xtype : 'form',
itemId : 'systemInfo_stockOutCost_form',
itemId : 'header_stockOutCost_form',
items : [{
xtype : 'fieldcontainer',
layout : 'column',
items : [{
xtype : 'displayfield',
margin : '5 0 0 15',
labelWidth: 30,
name : 'system.projectName',
width : 200,
fieldLabel : '项目'
}, {
xtype : 'displayfield',
margin : '5 0 0 15',
labelWidth: 30,
name : 'system.name',
width : 200,
fieldLabel : '系统'
}, {
items : [{
xtype: 'displayfield',
fieldLabel: '日期',
margin : '5 0 0 15',
labelWidth: 40,
name : 'forDate',
width : 200,
width : 150,
format : 'Y-m-d'
}, {
xtype: 'displayfield',
fieldLabel: '编号',
name : 'code',
margin : '5 0 0 15',
margin : '5 0 0 10',
width : 100,
labelWidth: 40
}, {
xtype : 'displayfield',
margin : '5 0 0 10',
labelWidth: 60,
name : 'receiveMan',
width : 200,
fieldLabel : '购货单位'
}, {
xtype : 'displayfield',
margin : '5 0 0 10',
labelWidth: 30,
name : 'receiveAddress',
width : 180,
fieldLabel : '地址'
}, {
xtype : 'displayfield',
margin : '5 0 0 10',
labelWidth: 30,
name : 'receivePhone',
width : 120,
fieldLabel : '电话'
}]
}]
}]
......@@ -108,26 +115,20 @@ Ext.define('drp.app.view.projects.resources.StockOutCostShowView', {
flex : 1,
margin : '0 0 0 30',
labelWidth: 50,
itemId : 'wareKeeperName_df',
fieldLabel : '库管员'
itemId : 'managerName_df',
fieldLabel : '负责人'
}, {
xtype : 'displayfield',
flex : 1,
labelWidth: 50,
itemId : 'materialKeeperName_df',
fieldLabel : '材料员'
}, {
xtype : 'displayfield',
flex : 1,
labelWidth: 60,
itemId : 'projectManagerName_df',
fieldLabel : '项目经理'
itemId : 'wareKeeperName_df',
fieldLabel : '库管员'
}, {
xtype : 'displayfield',
flex : 1,
labelWidth: 60,
itemId : 'receiveMan_df',
fieldLabel : '领物'
itemId : 'regulatorName_df',
fieldLabel : '经手'
}]
}]
});
......
......@@ -12,7 +12,7 @@ Ext.define('drp.app.view.projects.costs.StockOutCostView', {
resizable : false,
initComponent : function() {
var me = this;
var selModel = Ext.create('Ext.selection.CheckboxModel', {
listeners: {
selectionchange: function(sm, selections) {
......@@ -27,10 +27,10 @@ Ext.define('drp.app.view.projects.costs.StockOutCostView', {
xtype : 'panel',
region : 'north',
layout : 'fit',
height: 70,
height: 100,
items : [{
xtype : 'form',
itemId : 'systemInfo_stockOutCost_form',
itemId : 'header_stockOutCost_form',
items : [{
xtype : 'fieldcontainer',
layout : 'column',
......@@ -40,90 +40,6 @@ Ext.define('drp.app.view.projects.costs.StockOutCostView', {
hidden : true,
name : 'id'
}, {
xtype : 'combobox',
margin : '5 0 0 15',
labelWidth: 60,
itemId : 'project_stockOutInvoice_cb',
name : 'system.projectName',
editable : false,
allowBlank : false,
width : 300,
displayField :"name",
valueField :"id",
fieldLabel : '项目<font color="red">*</font>',
store : 'drp.app.store.projects.ProjectDataStore',
listeners : {
afterrender : function(combo){
//显示人员所属项目
var store = combo.getStore();
store.filters.clear();
if(user.type != "Leader"){
Ext.apply(store.proxy.extraParams, {
userType : user.type,
userId : user.id
});
store.load();
}
},
select : function(combo,records){
var project = records[0].data;
var stockoutcostview = combo.up("stockoutcostview");
//设置该项目下的人员
stockoutcostview.down("#materialKeeperName_df").setValue(project.materialKeeper.name);
stockoutcostview.down("#wareKeeperName_df").setValue(project.wareKeeper.name);
stockoutcostview.down("#projectManagerName_df").setValue(project.projectManager.name);
//根据项目动态加载下属系统
var _url = "project/" + project.id;
var system = stockoutcostview.down("#systemName_stockOutInvoice_cb");
system.getStore().getProxy().url = _url;
system.setValue("");
system.setDisabled(false);
system.getStore().reload();
}
}
}, {
xtype : 'combobox',
margin : '5 0 0 30',
labelWidth: 60,
itemId : 'systemName_stockOutInvoice_cb',
name : 'system.name',
allowBlank : false,
editable : false,
disabled : true,
width : 300,
fieldLabel : '系统<font color="red">*</font>',
valueField : 'id',
displayField : 'name',
fieldLabel : '系统名称<font color="red">*</font>',
store : Ext.create('Ext.data.Store', {
fields : ['id', 'name'],
proxy : {
type : 'ajax',
reader : {
type : "json",
root : "data",
successProperty : 'success'
},
writer : {
type : "json"
}
}
}),
listeners : {
select : function(combo){
combo.up('form').down('#systemId_stockOutInvoice_tf').setValue(combo.getSubmitValue());
}
}
}, {
xtype : 'textfield',
hidden : true,
itemId : 'systemId_stockOutInvoice_tf',
name : 'system.id'
}]
}, {
xtype : 'fieldcontainer',
layout : 'column',
items : [ {
xtype: 'datefield',
fieldLabel: '日期<font color="red">*</font>',
margin : '5 0 0 15',
......@@ -131,35 +47,97 @@ Ext.define('drp.app.view.projects.costs.StockOutCostView', {
itemId : 'forDate_stockOutInvoice_df',
name : 'forDate',
editable : false,
allowBlank: false,
width : 200,
format : 'Y-m-d'
format : 'Y-m-d',
listeners : {
afterrender : function(df) {
if(df.getValue() == null) {
df.setValue(new Date());
}
}
}
}, {
xtype: 'textfield',
fieldLabel: '编号<font color="red">*</font>',
fieldLabel: '编号',
itemId : 'code_stockOutInvoice_tf',
name : 'code',
margin : '5 0 0 15',
width : 200,
labelWidth: 60
}, {
}]
}, {
xtype : 'fieldcontainer',
layout : 'column',
items : [{
xtype: 'textfield',
fieldLabel: '领物人<font color="red">*</font>',
fieldLabel: '收货单位<font color="red">*</font>',
itemId : 'receiveMan_stockOutInvoice_tf',
allowBlank: false,
name : 'receiveMan',
margin : '5 0 0 15',
width : 200,
labelWidth: 60
}, {
xtype: 'textfield',
fieldLabel: '地址<font color="red">*</font>',
itemId : 'receiveAddress_stockOutInvoice_tf',
allowBlank: false,
name : 'address',
margin : '5 0 0 15',
width : 200,
labelWidth: 60
}, {
xtype: 'textfield',
fieldLabel: '电话',
itemId : 'receivePhone_stockOutInvoice_tf',
name : 'phone',
margin : '5 0 0 15',
width : 200,
labelWidth: 60
}]
}, {
xtype : 'fieldcontainer',
layout : 'column',
items : [{
xtype : 'combobox',
width : 200,
labelWidth: 60,
listeners : {
change : function(tf){
tf.up('stockoutcostview').down('#receiveMan_df').setValue(tf.getValue());
}
}
margin : '5 0 0 15',
name : 'manager',
valueField : 'name',
displayField : 'name',
allowBlank: false,
store : 'drp.app.store.users.ManagerStore',
fieldLabel : '负责人<font color="red">*</font>'
}, {
xtype : 'combobox',
width : 200,
labelWidth: 60,
margin : '5 0 0 15',
name : 'wareKeeper',
valueField : 'name',
displayField : 'name',
allowBlank: false,
store : 'drp.app.store.users.WareKeeperStore',
fieldLabel : '库管员<font color="red">*</font>'
}, {
xtype : 'combobox',
width : 200,
labelWidth: 60,
margin : '5 0 0 15',
name : 'regulator',
valueField : 'name',
displayField : 'name',
allowBlank: false,
store : 'drp.app.store.users.RegulatorStore',
fieldLabel : '经手人'
}, {
xtype : 'button',
margin : '5 0 0 25',
action : 'addSystemInfo',
action : 'confirmInvoiceHeader',
icon : 'resources/images/icons/ok.png',
text : '确认所属系统'
text : '确认单据头'
}]
}]
}]
......@@ -383,41 +361,8 @@ Ext.define('drp.app.view.projects.costs.StockOutCostView', {
}]
}]
}]
}],
dockedItems : [{//<<<<<<<<<<<<<<<<<<<<<<<<出库单-汇总人员信息
xtype: 'toolbar',
dock: 'bottom',
ui: 'footer',
items: [{
xtype : 'displayfield',
flex : 1,
margin : '0 0 0 30',
labelWidth: 50,
itemId : 'wareKeeperName_df',
fieldLabel : '库管员'
}, {
xtype : 'displayfield',
flex : 1,
labelWidth: 50,
itemId : 'materialKeeperName_df',
fieldLabel : '材料员'
}, {
xtype : 'displayfield',
flex : 1,
labelWidth: 60,
itemId : 'projectManagerName_df',
fieldLabel : '项目经理'
}, {
xtype : 'displayfield',
flex : 1,
labelWidth: 60,
itemId : 'receiveMan_df',
fieldLabel : '领物人'
}]
}]
});
me.callParent(arguments);
}
});
\ No newline at end of file
......@@ -50,6 +50,12 @@ Ext.define('drp.app.view.projects.invoices.StockInInvoiceView', {
fieldLabel : '结束日期',
editable : false,
format : 'Y-m-d'
}, {
xtype : 'textfield',
margin : '5 0 0 20',
labelWidth: 60,
itemId : 'receiveManName_filter',
fieldLabel : '领物人'
}]
}, {
xtype : 'fieldcontainer',
......@@ -80,8 +86,8 @@ Ext.define('drp.app.view.projects.invoices.StockInInvoiceView', {
xtype : 'textfield',
margin : '5 0 0 10',
labelWidth: 60,
itemId : 'regulatorName_filter',
fieldLabel : '经手'
itemId : 'managerName_filter',
fieldLabel : '负责'
}, {
xtype : 'textfield',
margin : '5 0 0 20',
......@@ -92,8 +98,8 @@ Ext.define('drp.app.view.projects.invoices.StockInInvoiceView', {
xtype : 'textfield',
margin : '5 0 0 20',
labelWidth: 60,
itemId : 'managerName_filter',
fieldLabel : '负责'
itemId : 'regulatorName_filter',
fieldLabel : '经手'
}, {
xtype : 'button',
margin : '5 0 0 25',
......
......@@ -51,6 +51,12 @@ Ext.define('drp.app.view.projects.invoices.StockOutInvoiceView', {
fieldLabel : '结束日期',
editable : false,
format : 'Y-m-d'
}, {
xtype : 'textfield',
margin : '5 0 0 20',
labelWidth: 60,
itemId : 'receiveManName_filter',
fieldLabel : '购货单位'
}]
}, {
xtype : 'fieldcontainer',
......@@ -73,12 +79,6 @@ Ext.define('drp.app.view.projects.invoices.StockOutInvoiceView', {
labelWidth: 60,
itemId : 'wareName_filter',
fieldLabel : '产品名称'
}, {
xtype : 'textfield',
margin : '5 0 0 20',
labelWidth: 60,
itemId : 'receiveManName_filter',
fieldLabel : '领物人'
}]
}, {
xtype : 'fieldcontainer',
......@@ -87,8 +87,8 @@ Ext.define('drp.app.view.projects.invoices.StockOutInvoiceView', {
xtype : 'textfield',
margin : '5 0 0 10',
labelWidth: 60,
itemId : 'regulatorName_filter',
fieldLabel : '材料员'
itemId : 'managerName_filter',
fieldLabel : '负责人'
}, {
xtype : 'textfield',
margin : '5 0 0 20',
......@@ -99,8 +99,8 @@ Ext.define('drp.app.view.projects.invoices.StockOutInvoiceView', {
xtype : 'textfield',
margin : '5 0 0 20',
labelWidth: 60,
itemId : 'managerName_filter',
fieldLabel : '项目经理'
itemId : 'regulatorName_filter',
fieldLabel : '经手人'
}, {
xtype : 'button',
margin : '5 0 0 25',
......@@ -139,14 +139,14 @@ Ext.define('drp.app.view.projects.invoices.StockOutInvoiceView', {
dataIndex : 'code'
}, {
xtype : 'gridcolumn',
dataIndex : 'system.projectName',
dataIndex : 'receiveMan',
flex : 2,
text : '项目名称'
text : '购货单位'
}, {
xtype : 'gridcolumn',
dataIndex : 'system.name',
dataIndex : 'address',
flex : 2,
text : '系统名称'
text : '地址'
}, {
xtype : 'gridcolumn',
dataIndex : 'totalPrice',
......@@ -154,36 +154,19 @@ Ext.define('drp.app.view.projects.invoices.StockOutInvoiceView', {
text : '合价'
}, {
xtype : 'gridcolumn',
dataIndex : 'materialKeeperName',
dataIndex : 'manager',
flex : 2,
text : '材料员',
renderer : function(value, metadata, record) {
var materialKeeperAuditState = record.data.materialKeeperAuditState;
return me.displyAuditState(value, materialKeeperAuditState);
}
text : '负责人'
}, {
xtype : 'gridcolumn',
dataIndex : 'wareKeeperName',
dataIndex : 'wareKeeper',
flex : 2,
text : '库管员',
renderer : function(value, metadata, record) {
var wareKeeperAuditState = record.data.wareKeeperAuditState;
return me.displyAuditState(value, wareKeeperAuditState);
}
text : '库管员'
}, {
xtype : 'gridcolumn',
dataIndex : 'projectManagerName',
flex : 2,
text : '项目经理',
renderer : function(value, metadata, record) {
var projectManagerAuditState = record.data.projectManagerAuditState;
return me.displyAuditState(value, projectManagerAuditState);
}
}, {
xtype : 'gridcolumn',
dataIndex : 'receiveMan',
dataIndex : 'regulatorName',
flex : 2,
text : '领物'
text : '经手'
}],
dockedItems : [{
xtype : 'pagingtoolbar',
......
......@@ -96,7 +96,10 @@ Ext.define('drp.app.view.resources.WareView', {
dataIndex : 'name',
text : '品名',
renderer : function(value, mate, record) {
return record.data['category.name'] + '-' + value;
if(record.data['category.name']) {
return record.data['category.name'] + '-' + value;
}
return value;
}
}, {
xtype : 'gridcolumn',
......
......@@ -126,7 +126,7 @@ Ext.define("drp.app.view.resources.WareViewForm", {
margin : '5 0 0 5',
name : 'vendor.id',
valueField : 'id',
displayField : 'name',
displayField : 'contactMan',
editable : false,
store : 'drp.app.store.resources.VendorStore',
fieldLabel : '供应商'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment