Commit 419b27f1 authored by reedmi's avatar reedmi

初步完成出库单

parent 4e2b7d12
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(){
......
......@@ -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();
......
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 : '经手'
}]
}]
});
......
......@@ -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',
......
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