1、创建물류库存表。sql语句:
`emws_materials`가 존재하지 않는 경우 테이블 생성(
`id`mediumint(8) unsigned NOT NULL auto_increment,
`name` varchar(60) NOT NULL,
`modulus` varchar(60) NOT NULL,
`stock_number` smallint(5) unsigned NOT NULL 기본값 '0',
`stock_in` smallint(5) unsigned NOT NULL 기본값 '0',
`stock_out` smallint(5) unsigned NOT NULL 기본값 '0',
`safe_day` smallint(5) unsigned NOT NULL 기본값 '0',
`intent_day` smallint(5) unsigned NOT NULL 기본값 '0',
`is_buy`tinyint (1) unsigned NOT NULL 기본값 '1',
`buy_url` varchar(60) NOT NULL,
`price` 소수(10,2) NOT NULL,
`weight` smallint(5) unsigned NOT NULL 기본값 '0',
`img` varchar(60) NOT NULL,
`desc_info` varchar(60) NOT NULL,
`remark` varchar(60) NOT NULL,
` admin_id` smallint(5) unsigned NOT NULL,
`update_time` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
2、php程序,materials.php:
<span> 1</span> <?<span>php </span><span> 2</span> <span>define</span>('IN_ECS', <span>true</span><span>); </span><span> 3</span> <span>require</span>(<span>dirname</span>(<span>__FILE__</span>) . '/includes/init.php'<span>); </span><span> 4</span> <span>include_once</span>(ROOT_PATH . 'includes/cls_image.php'<span>); </span><span> 5</span> <span>$image</span> = <span>new</span> cls_image(<span>$_CFG</span>['bgcolor'<span>]); </span><span> 6</span> <span>$exc</span> = <span>new</span> exchange(<span>$ecs</span>->table("materials"), <span>$db</span>, 'id', 'name'<span>); </span><span> 7</span> <span>$_REQUEST</span>['act']=!<span>empty</span>(<span>$_REQUEST</span>['act']) ? <span>$_REQUEST</span>['act']:'list'<span>; </span><span> 8</span> admin_priv('stock_alert');<span>//</span><span>权限:库存数量修改</span> <span> 9</span> <span>if</span>(<span>$_REQUEST</span>['act'] == 'list'<span>) </span><span> 10</span> <span>{ </span><span> 11</span> <span>$stock_list</span>=<span>material_list(); </span><span> 12</span> <span>$smarty</span>->assign('ur_here', '物料库存列表'<span>); </span><span> 13</span> <span>$smarty</span>->assign('stock_list', <span>$stock_list</span>['stock_list'<span>]); </span><span> 14</span> <span>$smarty</span>->assign('filter', <span>$stock_list</span>['filter'<span>]); </span><span> 15</span> <span>$smarty</span>->assign('record_count', <span>$stock_list</span>['record_count'<span>]); </span><span> 16</span> <span>$smarty</span>->assign('page_count', <span>$stock_list</span>['page_count'<span>]); </span><span> 17</span> <span> 18</span> <span>$smarty</span>->assign('shelf_list', <span>$shelf_list</span><span>); </span><span> 19</span> <span>$smarty</span>->assign('full_page', 1<span>); </span><span> 20</span> <span>$smarty</span>->assign('action_link', <span>array</span>('href' => 'goods_stock.php?act=list', 'text' => '商品库存列表'<span>)); </span><span> 21</span> <span>$smarty</span>->assign('action_link2', <span>array</span>('href' => 'materials.php?act=export', 'text' => '导出采购单'<span>)); </span><span> 22</span> <span>$smarty</span>->assign('action_link3', <span>array</span>('href' => 'materials.php?act=add', 'text' => '添加物料'<span>)); </span><span> 23</span> <span> 24</span> <span>$smarty</span>->display('material_list.htm'<span>); </span><span> 25</span> <span>} </span><span> 26</span> <span>elseif</span>(<span>$_REQUEST</span>['act'] == 'add'<span>) </span><span> 27</span> <span>{ </span><span> 28</span> <span>$smarty</span>->assign('ur_here', "添加物料"<span>); </span><span> 29</span> <span>$smarty</span>->assign('action_link', <span>array</span>('href' => 'materials.php?act=list', 'text' => '返回物料库存列表'<span>)); </span><span> 30</span> <span>$smarty</span>->assign('form_action', "insert"<span>); </span><span> 31</span> <span> 32</span> <span> assign_query_info(); </span><span> 33</span> <span>$smarty</span>->display('material_info.htm'<span>); </span><span> 34</span> <span>} </span><span> 35</span> <span>elseif</span>(<span>$_REQUEST</span>['act'] == 'insert'<span>) </span><span> 36</span> <span>{ </span><span> 37</span> <span>$material</span>['is_buy'] = <span>isset</span>(<span>$_REQUEST</span>['is_buy']) ? <span>intval</span>(<span>$_REQUEST</span>['is_buy']) : 1<span>; </span><span> 38</span> <span>$material</span>['name'] = <span>isset</span>(<span>$_REQUEST</span>['name']) ? <span>trim</span>(<span>$_REQUEST</span>['name']) : ''<span>; </span><span> 39</span> <span>$material</span>['modulus'] = <span>isset</span>(<span>$_REQUEST</span>['modulus']) ? <span>trim</span>(<span>$_REQUEST</span>['modulus']) : ''<span>; </span><span> 40</span> <span>$material</span>['safe_day'] = <span>isset</span>(<span>$_REQUEST</span>['safe_day']) ? <span>intval</span>(<span>$_REQUEST</span>['safe_day']) : 0<span>; </span><span> 41</span> <span>$material</span>['intent_day']= <span>isset</span>(<span>$_REQUEST</span>['intent_day']) ? <span>intval</span>(<span>$_REQUEST</span>['intent_day']) : 0<span>; </span><span> 42</span> <span>$material</span>['price'] = <span>isset</span>(<span>$_REQUEST</span>['price']) ? <span>floatval</span>(<span>$_REQUEST</span>['price']) : '0.00'<span>; </span><span> 43</span> <span>$material</span>['weight'] = <span>isset</span>(<span>$_REQUEST</span>['weight']) ? <span>intval</span>(<span>$_REQUEST</span>['weight']) : 0<span>; </span><span> 44</span> <span>$material</span>['desc_info'] = <span>isset</span>(<span>$_REQUEST</span>['desc_info']) ? <span>trim</span>(<span>$_REQUEST</span>['desc_info']) : ''<span>; </span><span> 45</span> <span>$material</span>['remark'] = <span>isset</span>(<span>$_REQUEST</span>['remark']) ? <span>trim</span>(<span>$_REQUEST</span>['remark']) : ''<span>; </span><span> 46</span> <span>$material</span>['update_time']=<span> gmtime(); </span><span> 47</span> <span>$material</span>['admin_id'] = <span>$_SESSION</span>['admin_id'<span>]; </span><span> 48</span> <span> 49</span> <span>if</span>(<span>empty</span>(<span>$material</span>['name']) || <span>empty</span>(<span>$material</span>['modulus']) || <span>empty</span>(<span>$material</span>['safe_day']) || <span>empty</span>(<span>$material</span>['intent_day'<span>])) </span><span> 50</span> <span> { </span><span> 51</span> sys_msg('名称、系数、安全天数、目标天数,不能为空或者格式不正确', 1<span>); </span><span> 52</span> <span> } </span><span> 53</span> <span> 54</span> <span>$is_only</span> = <span>$exc</span>->is_only('name', <span>$material</span>['name'<span>]); </span><span> 55</span> <span>if</span> (!<span>$is_only</span><span>) </span><span> 56</span> <span> { </span><span> 57</span> sys_msg(<span>$material</span>['name'].',已存在', 1<span>); </span><span> 58</span> <span> } </span><span> 59</span> <span> 60</span> <span>/*</span><span>处理图片</span><span>*/</span> <span> 61</span> <span>$material</span>['img'] = <span>basename</span>(<span>$image</span>->upload_image(<span>$_FILES</span>['img'],'material'<span>)); </span><span> 62</span> <span>/*</span><span>处理URL</span><span>*/</span> <span> 63</span> <span>$material</span>['buy_url'] = sanitize_url(<span>$_POST</span>['buy_url'<span>]); </span><span> 64</span> <span>/*</span><span>插入数据</span><span>*/</span> <span> 65</span> <span>$db</span>->autoExecute(<span>$ecs</span>->table('materials'), <span>$material</span>, 'INSERT', '', 'SILENT'<span>); </span><span> 66</span> <span> 67</span> <span>$link</span>[0]['text'] = '继续添加'<span>; </span><span> 68</span> <span>$link</span>[0]['href'] = 'materials.php?act=add'<span>; </span><span> 69</span> <span>$link</span>[1]['text'] = '返回列表'<span>; </span><span> 70</span> <span>$link</span>[1]['href'] = 'materials.php?act=list'<span>; </span><span> 71</span> sys_msg('添加成功', 0, <span>$link</span><span>); </span><span> 72</span> <span>} </span><span> 73</span> <span>elseif</span>(<span>$_REQUEST</span>['act'] == 'updata'<span>) </span><span> 74</span> <span>{ </span><span> 75</span> <span>$id</span> = <span>isset</span>(<span>$_REQUEST</span>['id']) ? <span>intval</span>(<span>$_REQUEST</span>['id']) : 0<span>; </span><span> 76</span> <span>$material</span>['is_buy'] = <span>isset</span>(<span>$_REQUEST</span>['is_buy']) ? <span>intval</span>(<span>$_REQUEST</span>['is_buy']) : 1<span>; </span><span> 77</span> <span>$material</span>['name'] = <span>isset</span>(<span>$_REQUEST</span>['name']) ? <span>trim</span>(<span>$_REQUEST</span>['name']) : ''<span>; </span><span> 78</span> <span>$material</span>['modulus'] = <span>isset</span>(<span>$_REQUEST</span>['modulus']) ? <span>trim</span>(<span>$_REQUEST</span>['modulus']) : ''<span>; </span><span> 79</span> <span>$material</span>['safe_day'] = <span>isset</span>(<span>$_REQUEST</span>['safe_day']) ? <span>intval</span>(<span>$_REQUEST</span>['safe_day']) : 0<span>; </span><span> 80</span> <span>$material</span>['intent_day']= <span>isset</span>(<span>$_REQUEST</span>['intent_day']) ? <span>intval</span>(<span>$_REQUEST</span>['intent_day']) : 0<span>; </span><span> 81</span> <span>$material</span>['price'] = <span>isset</span>(<span>$_REQUEST</span>['price']) ? <span>floatval</span>(<span>$_REQUEST</span>['price']) : '0.00'<span>; </span><span> 82</span> <span>$material</span>['weight'] = <span>isset</span>(<span>$_REQUEST</span>['weight']) ? <span>intval</span>(<span>$_REQUEST</span>['weight']) : 0<span>; </span><span> 83</span> <span>$material</span>['desc_info'] = <span>isset</span>(<span>$_REQUEST</span>['desc_info']) ? <span>trim</span>(<span>$_REQUEST</span>['desc_info']) : ''<span>; </span><span> 84</span> <span>$material</span>['remark'] = <span>isset</span>(<span>$_REQUEST</span>['remark']) ? <span>trim</span>(<span>$_REQUEST</span>['remark']) : ''<span>; </span><span> 85</span> <span>$material</span>['update_time']=<span> gmtime(); </span><span> 86</span> <span>$material</span>['admin_id'] = <span>$_SESSION</span>['admin_id'<span>]; </span><span> 87</span> <span> 88</span> <span>if</span>(<span>empty</span>(<span>$id</span><span>)) </span><span> 89</span> <span> { </span><span> 90</span> sys_msg('ID不能为空', 1<span>); </span><span> 91</span> <span> } </span><span> 92</span> <span> 93</span> <span>if</span>(<span>empty</span>(<span>$material</span>['name']) || <span>empty</span>(<span>$material</span>['modulus']) || <span>empty</span>(<span>$material</span>['safe_day']) || <span>empty</span>(<span>$material</span>['intent_day'<span>])) </span><span> 94</span> <span> { </span><span> 95</span> sys_msg('名称、系数、安全天数、目标天数,不能为空或者格式不正确', 1<span>); </span><span> 96</span> <span> } </span><span> 97</span> <span> 98</span> <span>/*</span><span>处理图片</span><span>*/</span> <span> 99</span> <span>if</span>(!<span>empty</span>(<span>$_FILES</span>['img']['name'<span>])) </span><span>100</span> <span> { </span><span>101</span> <span>$material</span>['img'] = <span>basename</span>(<span>$image</span>->upload_image(<span>$_FILES</span>['img'],'material'<span>)); </span><span>102</span> <span> } </span><span>103</span> <span>/*</span><span>处理URL</span><span>*/</span> <span>104</span> <span>$material</span>['buy_url'] = sanitize_url(<span>$_POST</span>['buy_url'<span>]); </span><span>105</span> <span>/*</span><span>插入数据</span><span>*/</span> <span>106</span> <span>$db</span>->autoExecute(<span>$ecs</span>->table('materials'), <span>$material</span>, 'UPDATE', "id = '<span>$id</span>'"<span>); </span><span>107</span> <span>108</span> <span>$link</span>[0]['text'] = '继续编辑'<span>; </span><span>109</span> <span>$link</span>[0]['href'] = 'materials.php?act=edit&id='.<span>$id</span><span>; </span><span>110</span> <span>$link</span>[1]['text'] = '返回列表'<span>; </span><span>111</span> <span>$link</span>[1]['href'] = 'materials.php?act=list'<span>; </span><span>112</span> sys_msg('编辑成功', 0, <span>$link</span><span>); </span><span>113</span> <span>} </span><span>114</span> <span>elseif</span> (<span>$_REQUEST</span>['act'] =='edit'<span>) </span><span>115</span> <span>{ </span><span>116</span> <span>$sql</span> = "SELECT * FROM " .<span>$ecs</span>->table('materials'). " WHERE"<span>; </span><span>117</span> <span>$material</span> = <span>$db</span>->GetRow(<span>$sql</span><span>); </span><span>118</span> <span>$smarty</span>->assign('ur_here', "编辑物料"<span>); </span><span>119</span> <span>$smarty</span>->assign('action_link', <span>array</span>('href' => 'materials.php?act=list', 'text' => '返回物料库存列表'<span>)); </span><span>120</span> <span>$smarty</span>->assign('material', <span>$material</span><span>); </span><span>121</span> <span>$smarty</span>->assign('form_action', 'updata'<span>); </span><span>122</span> <span> assign_query_info(); </span><span>123</span> <span>$smarty</span>->display('material_info.htm'<span>); </span><span>124</span> <span>} </span><span>125</span> <span>elseif</span> (<span>$_REQUEST</span>['act'] == 'remove'<span>) </span><span>126</span> <span>{ </span><span>127</span> <span>$id</span> = <span>intval</span>(<span>$_GET</span>['id'<span>]); </span><span>128</span> <span>$exc</span>->drop(<span>$id</span><span>); </span><span>129</span> <span>$url</span> = 'materials.php?act=query&' . <span>str_replace</span>('act=remove', '', <span>$_SERVER</span>['QUERY_STRING'<span>]); </span><span>130</span> ecs_header("Location: <span>$url</span>\n"<span>); </span><span>131</span> <span>exit</span><span>; </span><span>132</span> <span>} </span><span>133</span> <span>elseif</span> (<span>$_REQUEST</span>['act'] == 'drop_img'<span>) </span><span>134</span> <span>{ </span><span>135</span> <span>$id</span> = <span>isset</span>(<span>$_GET</span>['id']) ? <span>intval</span>(<span>$_GET</span>['id']) : 0<span>; </span><span>136</span> <span>137</span> <span>$sql</span> = "SELECT img FROM " .<span>$ecs</span>->table('materials'). " WHERE id = '<span>$id</span>'"<span>; </span><span>138</span> <span>$img_name</span> = <span>$db</span>->getOne(<span>$sql</span><span>); </span><span>139</span> <span>140</span> <span>if</span> (!<span>empty</span>(<span>$img_name</span><span>)) </span><span>141</span> <span> { </span><span>142</span> @<span>unlink</span>(ROOT_PATH . DATA_DIR . '/material/' .<span>$img_name</span><span>); </span><span>143</span> <span>$sql</span> = "UPDATE " .<span>$ecs</span>->table('materials'). " SET img = '' WHERE id = '<span>$id</span>'"<span>; </span><span>144</span> <span>$db</span>->query(<span>$sql</span><span>); </span><span>145</span> <span> } </span><span>146</span> <span>$link</span>= <span>array</span>(<span>array</span>('text' => '继续编辑', 'href' => 'materials.php?act=edit&id=' . <span>$id</span>), <span>array</span>('text' => '返回物料库存列表', 'href' => 'materials.php?act=list'<span>)); </span><span>147</span> sys_msg('图片删除成功', 0, <span>$link</span><span>); </span><span>148</span> <span>} </span><span>149</span> <span>elseif</span> (<span>$_REQUEST</span>['act'] == 'edit_stock_in') <span>//</span><span>更改入库</span> <span>150</span> <span>{ </span><span>151</span> <span>$id</span> = <span>intval</span>(<span>$_POST</span>['id'<span>]); </span><span>152</span> <span>$val</span> = json_str_iconv(<span>trim</span>(<span>$_POST</span>['val'<span>])); </span><span>153</span> <span>/*</span><span> 检查格式 </span><span>*/</span> <span>154</span> <span>if</span>(!<span>is_numeric</span>(<span>$val</span>) || <span>$val</span> < 0<span>) </span><span>155</span> <span> { </span><span>156</span> make_json_error(<span>sprintf</span>("格式不正确!", <span>$val</span><span>)); </span><span>157</span> <span> } </span><span>158</span> <span>159</span> <span>$exc</span>->edit("stock_in='<span>$val</span>'", <span>$id</span><span>); </span><span>160</span> make_json_result(<span>stripslashes</span>(<span>$val</span><span>)); </span><span>161</span> <span>} </span><span>162</span> <span>elseif</span> (<span>$_REQUEST</span>['act'] == 'edit_stock_out') <span>//</span><span>更改出库</span> <span>163</span> <span>{ </span><span>164</span> <span>$id</span> = <span>intval</span>(<span>$_POST</span>['id'<span>]); </span><span>165</span> <span>$val</span> = json_str_iconv(<span>trim</span>(<span>$_POST</span>['val'<span>])); </span><span>166</span> <span>/*</span><span> 检查格式 </span><span>*/</span> <span>167</span> <span>if</span>(!<span>is_numeric</span>(<span>$val</span>) || <span>$val</span> < 0<span>) </span><span>168</span> <span> { </span><span>169</span> make_json_error(<span>sprintf</span>("格式不正确!", <span>$val</span><span>)); </span><span>170</span> <span> } </span><span>171</span> <span>$sql</span>="SELECT * FROM ".<span>$GLOBALS</span>['ecs']->table('materials')." where id = '".<span>$id</span>."'"<span>; </span><span>172</span> <span>$material</span> = <span>$GLOBALS</span>['db']->getRow(<span>$sql</span><span>); </span><span>173</span> <span>if</span>(<span>$val</span> > <span>$material</span>['stock_in'] + <span>$material</span>['stock_number'<span>]) </span><span>174</span> <span> { </span><span>175</span> make_json_error(<span>sprintf</span>("出库数不能大于现有库存与入库总和!", <span>$val</span><span>)); </span><span>176</span> <span> } </span><span>177</span> <span>178</span> <span>$exc</span>->edit("stock_out='<span>$val</span>'", <span>$id</span><span>); </span><span>179</span> make_json_result(<span>stripslashes</span>(<span>$val</span><span>)); </span><span>180</span> <span>} </span><span>181</span> <span>elseif</span> (<span>$_REQUEST</span>['act'] == 'operate') <span>//</span><span>批量入库/出库</span> <span>182</span> <span>{ </span><span>183</span> <span>$sql</span> = "UPDATE " .<span>$ecs</span>->table('materials'). " SET stock_number = stock_number + stock_in - stock_out,stock_out = 0,stock_in = 0,admin_id=<span>$_SESSION</span>[admin_id],update_time = ".<span>gmtime(); </span><span>184</span> <span>$db</span>->query(<span>$sql</span><span>); </span><span>185</span> <span>$link</span>= <span>array</span>(<span>array</span>('text' => '返回物料库存列表', 'href' => 'materials.php?act=list'<span>)); </span><span>186</span> sys_msg('成功批量入库/出库', 0, <span>$link</span><span>); </span><span>187</span> <span>} </span><span>188</span> <span>elseif</span> (<span>$_REQUEST</span>['act'] == 'export') <span>//</span><span>导出采购单</span> <span>189</span> <span>{ </span><span>190</span> <span>include_once</span>('includes/PHPExcel/PHPExcel.php'<span>); </span><span>191</span> <span>include_once</span>('corlor.php'<span>); </span><span>192</span> <span>$objPHPExcel</span> = <span>new</span><span> PHPExcel(); </span><span>193</span> <span>194</span> <span>$filename</span> = '物料采购表_'.<span>date</span>("YmdHi",<span>gmtime()); </span><span>195</span> <span>$objPHPExcel</span>->setActiveSheetIndex(0<span>); </span><span>196</span> <span>$objPHPExcel</span>->getActiveSheet()->setTitle(<span>$filename</span><span>); </span><span>197</span> <span>$objPHPExcel</span>->getActiveSheet()->getColumnDimension('A')->setWidth(15<span>); </span><span>198</span> <span>$objPHPExcel</span>->getActiveSheet()->getColumnDimension('B')->setWidth(15<span>); </span><span>199</span> <span>$objPHPExcel</span>->getActiveSheet()->getColumnDimension('C')->setWidth(10<span>); </span><span>200</span> <span>$objPHPExcel</span>->getActiveSheet()->getColumnDimension('D')->setWidth(10<span>); </span><span>201</span> <span>$objPHPExcel</span>->getActiveSheet()->getColumnDimension('E')->setWidth(10<span>); </span><span>202</span> <span>$objPHPExcel</span>->getActiveSheet()->getColumnDimension('F')->setWidth(10<span>); </span><span>203</span> <span>$objPHPExcel</span>->getActiveSheet()->getColumnDimension('G')->setWidth(10<span>); </span><span>204</span> <span>$objPHPExcel</span>->getActiveSheet()->getColumnDimension('H')->setWidth(10<span>); </span><span>205</span> <span>$objPHPExcel</span>->getActiveSheet()->getColumnDimension('I')->setWidth(10<span>); </span><span>206</span> <span>$objPHPExcel</span>->getActiveSheet()->getColumnDimension('J')->setWidth(10<span>); </span><span>207</span> <span>$objPHPExcel</span>->getActiveSheet()->getStyle('C1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::<span>HORIZONTAL_RIGHT); </span><span>208</span> <span>$objPHPExcel</span>->getActiveSheet()->getStyle('D1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::<span>HORIZONTAL_RIGHT); </span><span>209</span> <span>$objPHPExcel</span>->getActiveSheet()->getStyle('F1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::<span>HORIZONTAL_RIGHT); </span><span>210</span> <span>$objPHPExcel</span>->getActiveSheet()->getStyle('G1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::<span>HORIZONTAL_RIGHT); </span><span>211</span> <span>$objPHPExcel</span>->getActiveSheet()->getStyle('H1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::<span>HORIZONTAL_RIGHT); </span><span>212</span> <span>$objPHPExcel</span>->getActiveSheet()->getStyle('I1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::<span>HORIZONTAL_RIGHT); </span><span>213</span> <span>$objPHPExcel</span>->getActiveSheet()->getStyle('J1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::<span>HORIZONTAL_RIGHT); </span><span>214</span> <span>$objPHPExcel</span>->getActiveSheet()->getColumnDimension('K')->setWidth(10<span>); </span><span>215</span> <span>$objPHPExcel</span>->setActiveSheetIndex(0<span>) </span><span>216</span> ->setCellValue('A1', '物料名称'<span>) </span><span>217</span> ->setCellValue('B1', '图片'<span>) </span><span>218</span> ->setCellValue('C1', '每天用量'<span>) </span><span>219</span> ->setCellValue('D1', '现有库存'<span>) </span><span>220</span> ->setCellValue('E1', '周转天数'<span>) </span><span>221</span> ->setCellValue('F1', '安全库存'<span>) </span><span>222</span> ->setCellValue('G1', '目标库存'<span>) </span><span>223</span> ->setCellValue('H1', '建议购买'<span>) </span><span>224</span> ->setCellValue('I1', '单价'<span>) </span><span>225</span> ->setCellValue('J1', '实际单价'<span>) </span><span>226</span> ->setCellValue('K1', '采购链接'<span>); </span><span>227</span> <span>$i</span>=2<span>; </span><span>228</span> <span>$stock_list</span> = material_list(<span>false</span><span>); </span><span>229</span> <span>$arr</span> = <span>$stock_list</span>['stock_list'<span>]; </span><span>230</span> <span>foreach</span>(<span>$arr</span> <span>as</span> <span>$v</span><span>) </span><span>231</span> <span> { </span><span>232</span> <span>if</span>(<span>$v</span>['img'<span>]) </span><span>233</span> <span> { </span><span>234</span> <span>$objPHPExcel</span>->getActiveSheet()->getRowDimension(<span>$i</span>)->setRowHeight(50<span>); </span><span>235</span> <span>$objDrawing</span> = <span>new</span><span> PHPExcel_Worksheet_Drawing(); </span><span>236</span> <span>$objDrawing</span>->setName('goods thumb'<span>); </span><span>237</span> <span>$objDrawing</span>->setDescription('Pgoods thumb'<span>); </span><span>238</span> <span>$img_path</span> = <span>file_exists</span>('../data/material/'.<span>$v</span>['img']) ? '../data/material/'.<span>$v</span>['img'] : '../images/no_img.jpg'<span>; </span><span>239</span> <span>$objDrawing</span>->setPath(<span>$img_path</span><span>); </span><span>240</span> <span>$objDrawing</span>->setWidth(100<span>); </span><span>241</span> <span>$objDrawing</span>->setCoordinates('B'.<span>$i</span><span>); </span><span>242</span> <span>$objDrawing</span>->setWorksheet(<span>$objPHPExcel</span>-><span>getActiveSheet()); </span><span>243</span> <span> } </span><span>244</span> <span>else</span> <span>245</span> <span> { </span><span>246</span> <span>$objPHPExcel</span>->setActiveSheetIndex(0)->setCellValue('B'.<span>$i</span>, ''<span>); </span><span>247</span> <span> } </span><span>248</span> <span>249</span> <span>$objPHPExcel</span>->setActiveSheetIndex(0<span>) </span><span>250</span> ->setCellValue('A'.<span>$i</span>, <span>$v</span>['name'<span>]) </span><span>251</span> ->setCellValue('C'.<span>$i</span>, <span>$v</span>['day_use'<span>]) </span><span>252</span> ->setCellValue('D'.<span>$i</span>, <span>$v</span>['stock_number'<span>]) </span><span>253</span> ->setCellValue('E'.<span>$i</span>, <span>$v</span>['stock_day'<span>]) </span><span>254</span> ->setCellValue('F'.<span>$i</span>, <span>$v</span>['stock_safe'<span>]) </span><span>255</span> ->setCellValue('G'.<span>$i</span>, <span>$v</span>['stock_intent'<span>]) </span><span>256</span> ->setCellValue('H'.<span>$i</span>, <span>$v</span>['proposal_buy'<span>]) </span><span>257</span> ->setCellValue('I'.<span>$i</span>, <span>$v</span>['price'<span>]) </span><span>258</span> ->setCellValue('J'.<span>$i</span>, ''<span>); </span><span>259</span> <span>if</span>(<span>$v</span>['stock_safe'] >= <span>$v</span>['stock_number'<span>]) </span><span>260</span> <span> { </span><span>261</span> <span>$objPHPExcel</span>->setActiveSheetIndex(0)->getStyle('D'.<span>$i</span>)->getFont()->getColor()->setARGB(PHPExcel_Style_Color::<span>COLOR_RED); </span><span>262</span> <span> } </span><span>263</span> <span>if</span>(<span>$v</span>['buy_url'] != 'http://'<span>) </span><span>264</span> <span> { </span><span>265</span> <span>$objPHPExcel</span>->setActiveSheetIndex(0)->setCellValue('K'.<span>$i</span>, '采购链接'<span>); </span><span>266</span> <span>$objPHPExcel</span>->setActiveSheetIndex(0)->getCell('K'.<span>$i</span>)->getHyperlink()->setUrl(<span>$v</span>['buy_url'<span>]); </span><span>267</span> <span>$objPHPExcel</span>->setActiveSheetIndex(0)->getCell('K'.<span>$i</span>)->getHyperlink()->setTooltip('采购链接'<span>); </span><span>268</span> <span>$objPHPExcel</span>->setActiveSheetIndex(0)->getStyle('K'.<span>$i</span>)->getFont()->getColor()->setARGB(PHPExcel_Style_Color::<span>COLOR_BLUE); </span><span>269</span> <span>$objPHPExcel</span>->setActiveSheetIndex(0)->getStyle('K'.<span>$i</span>)->getFont()->setUnderline(PHPExcel_Style_Font::<span>UNDERLINE_SINGLE); </span><span>270</span> <span> } </span><span>271</span> <span>else</span> <span>272</span> <span> { </span><span>273</span> <span>$objPHPExcel</span>->setActiveSheetIndex(0)->setCellValue('K'.<span>$i</span>, ''<span>); </span><span>274</span> <span> } </span><span>275</span> <span>$objPHPExcel</span>->getActiveSheet()->getStyle('A'.<span>$i</span>)->getAlignment()->setVertical(PHPExcel_Style_Alignment::<span>VERTICAL_CENTER); </span><span>276</span> <span>$objPHPExcel</span>->getActiveSheet()->getStyle('B'.<span>$i</span>)->getAlignment()->setVertical(PHPExcel_Style_Alignment::<span>VERTICAL_CENTER); </span><span>277</span> <span>$objPHPExcel</span>->getActiveSheet()->getStyle('C'.<span>$i</span>)->getAlignment()->setVertical(PHPExcel_Style_Alignment::<span>VERTICAL_CENTER); </span><span>278</span> <span>$objPHPExcel</span>->getActiveSheet()->getStyle('D'.<span>$i</span>)->getAlignment()->setVertical(PHPExcel_Style_Alignment::<span>VERTICAL_CENTER); </span><span>279</span> <span>$objPHPExcel</span>->getActiveSheet()->getStyle('E'.<span>$i</span>)->getAlignment()->setVertical(PHPExcel_Style_Alignment::<span>VERTICAL_CENTER); </span><span>280</span> <span>$objPHPExcel</span>->getActiveSheet()->getStyle('F'.<span>$i</span>)->getAlignment()->setVertical(PHPExcel_Style_Alignment::<span>VERTICAL_CENTER); </span><span>281</span> <span>$objPHPExcel</span>->getActiveSheet()->getStyle('G'.<span>$i</span>)->getAlignment()->setVertical(PHPExcel_Style_Alignment::<span>VERTICAL_CENTER); </span><span>282</span> <span>$objPHPExcel</span>->getActiveSheet()->getStyle('H'.<span>$i</span>)->getAlignment()->setVertical(PHPExcel_Style_Alignment::<span>VERTICAL_CENTER); </span><span>283</span> <span>$objPHPExcel</span>->getActiveSheet()->getStyle('I'.<span>$i</span>)->getAlignment()->setVertical(PHPExcel_Style_Alignment::<span>VERTICAL_CENTER); </span><span>284</span> <span>$objPHPExcel</span>->getActiveSheet()->getStyle('J'.<span>$i</span>)->getAlignment()->setVertical(PHPExcel_Style_Alignment::<span>VERTICAL_CENTER); </span><span>285</span> <span>$objPHPExcel</span>->getActiveSheet()->getStyle('K'.<span>$i</span>)->getAlignment()->setVertical(PHPExcel_Style_Alignment::<span>VERTICAL_CENTER); </span><span>286</span> <span>$i</span>++<span>; </span><span>287</span> <span> } </span><span>288</span> <span>$file_name</span> = <span>$filename</span>.'.xls'<span>; </span><span>289</span> <span>header</span>('Content-Type: application/vnd.ms-excel'<span>); </span><span>290</span> <span>header</span>('Content-Disposition: attachment;filename="'.<span>$file_name</span>.'"'<span>); </span><span>291</span> <span>header</span>('Cache-Control: max-age=0'<span>); </span><span>292</span> <span>$objWriter</span> = PHPExcel_IOFactory::createWriter(<span>$objPHPExcel</span>, 'Excel5'<span>); </span><span>293</span> <span>$objWriter</span>->save('php://output'<span>); </span><span>294</span> <span>exit</span><span>; </span><span>295</span> <span>} </span><span>296</span> <span>elseif</span> (<span>$_REQUEST</span>['act'] == 'query'<span>) </span><span>297</span> <span>{ </span><span>298</span> <span>$stock_list</span> =<span> material_list(); </span><span>299</span> <span>$smarty</span>->assign('stock_list', <span>$stock_list</span>['stock_list'<span>]); </span><span>300</span> <span>$smarty</span>->assign('filter', <span>$stock_list</span>['filter'<span>]); </span><span>301</span> <span>$smarty</span>->assign('record_count', <span>$stock_list</span>['record_count'<span>]); </span><span>302</span> <span>$smarty</span>->assign('page_count', <span>$stock_list</span>['page_count'<span>]); </span><span>303</span> make_json_result(<span>$smarty</span>->fetch('material_list.htm'), '', <span>array</span>('filter' => <span>$stock_list</span>['filter'], 'page_count' => <span>$stock_list</span>['page_count'<span>])); </span><span>304</span> <span>} </span><span>305</span> <span>306</span> <span>function</span> material_list(<span>$is_pagination</span> = <span>true</span><span>) </span><span>307</span> <span>{ </span><span>308</span> <span>GLOBAL</span> <span>$ecs</span>,<span>$db</span><span>; </span><span>309</span> <span>$result</span> =<span> get_filter(); </span><span>310</span> <span>if</span> (<span>$result</span> === <span>false</span><span>) </span><span>311</span> <span> { </span><span>312</span> <span>$filter</span>['sort_by'] = <span>empty</span>(<span>$_REQUEST</span>['sort_by']) ? 'id' : <span>trim</span>(<span>$_REQUEST</span>['sort_by'<span>]); </span><span>313</span> <span>$filter</span>['sort_order'] = <span>empty</span>(<span>$_REQUEST</span>['sort_order']) ? 'desc' : <span>trim</span>(<span>$_REQUEST</span>['sort_order'<span>]); </span><span>314</span> <span>$where</span> = " WHERE 1 = 1 "<span>; </span><span>315</span> <span>316</span> <span>$sql</span> = 'select count(t.id) from '.<span>$ecs</span>->table('materials'). ' as t '.<span>$where</span><span>; </span><span>317</span> <span>318</span> <span>$filter</span>['record_count'] = <span>$db</span>->getOne(<span>$sql</span><span>); </span><span>319</span> <span>320</span> <span>/*</span><span> 分页大小 </span><span>*/</span> <span>321</span> <span>$filter</span> = page_and_size(<span>$filter</span><span>); </span><span>322</span> <span>323</span> <span>$sql</span> = 'select t.*, au.user_name from '. <span>324</span> <span>$ecs</span>->table('materials').' as t left join '. <span>325</span> <span>$ecs</span>->table('admin_user')." as au on t.admin_id=au.user_id ".<span>$where</span>. <span>326</span> ' order by '.<span>$filter</span>['sort_by']." ".<span>$filter</span>['sort_order'<span>]; </span><span>327</span> <span>328</span> <span>if</span> (<span>$is_pagination</span><span>) </span><span>329</span> <span> { </span><span>330</span> <span>$sql</span> .= " LIMIT " . <span>$filter</span>['start'] . ', ' . <span>$filter</span>['page_size'<span>]; </span><span>331</span> <span> } </span><span>332</span> <span>333</span> <span>$end_time</span> = <span>strtotime</span>(<span>date</span>("Y-m-d",<span>gmtime())); </span><span>334</span> <span>$start_time</span> = <span>$end_time</span> - 7 * 86400<span>; </span><span>335</span> <span>$query</span> = "SELECT count(order_id) as total FROM ".<span>$GLOBALS</span>['ecs']->table('order_info')." WHERE synch_time < '".<span>$end_time</span>."' and synch_time >= '".<span>$start_time</span>."'"<span>; </span><span>336</span> <span>$filter</span>['orders'] = <span>round</span>(<span>$GLOBALS</span>['db']->getOne(<span>$query</span>) / 7);<span>//</span><span>7天平均订单数 </span> <span>337</span> <span>$filter</span>['orders'] = <span>$filter</span>['orders'] ? <span>$filter</span>['orders'] : 1400<span>; </span><span>338</span> set_filter(<span>$filter</span>, <span>$sql</span><span>); </span><span>339</span> <span> } </span><span>340</span> <span>else</span> <span>341</span> <span> { </span><span>342</span> <span>$sql</span> = <span>$result</span>['sql'<span>]; </span><span>343</span> <span>$filter</span> = <span>$result</span>['filter'<span>]; </span><span>344</span> <span> } </span><span>345</span> <span>$row</span> = <span>$GLOBALS</span>['db']->getAll(<span>$sql</span><span>); </span><span>346</span> <span>347</span> <span>$orders</span> = <span>$filter</span>['orders'<span>]; </span><span>348</span> <span>foreach</span>(<span>$row</span> <span>as</span> <span>$k</span>=><span>$val</span><span>) </span><span>349</span> <span> { </span><span>350</span> <span>if</span> (<span>$is_pagination</span> == <span>false</span> && <span>$val</span>['is_buy'] == 0) <span>//</span><span>不购买,不导出</span> <span>351</span> <span> { </span><span>352</span> <span>unset</span>(<span>$row</span>[<span>$k</span><span>]); </span><span>353</span> <span>continue</span><span>; </span><span>354</span> <span> } </span><span>355</span> <span>$row</span>[<span>$k</span>]['update_time'] = local_date('Y-m-d H:i',<span>$val</span>['update_time'<span>]); </span><span>356</span> <span>$row</span>[<span>$k</span>]['day_use'] = <span>$day_use</span> = <span>round</span>(<span>$orders</span> * <span>$val</span>['modulus'],1);<span>//</span><span>每日用量</span> <span>357</span> <span>$row</span>[<span>$k</span>]['stock_day'] = <span>$day_use</span> ? <span>round</span>(<span>$val</span>['stock_number'] / <span>$day_use</span>,1) : 0;<span>//</span><span>周转天数</span> <span>358</span> <span>$row</span>[<span>$k</span>]['stock_safe'] = <span>round</span>(<span>$val</span>['safe_day'] * <span>$day_use</span>,1);<span>//</span><span>安全库存</span> <span>359</span> <span>$row</span>[<span>$k</span>]['stock_intent']= <span>$stock_intent</span> = <span>round</span>(<span>$val</span>['intent_day'] * <span>$day_use</span>,1);<span>//</span><span>目标库存</span> <span>360</span> <span>$row</span>[<span>$k</span>]['proposal_buy']= <span>round</span>(<span>$stock_intent</span> - <span>$val</span>['stock_number'],1);<span>//</span><span>建议购买</span> <span>361</span> <span> } </span><span>362</span> <span>363</span> <span>$stock_list</span> = <span>array</span>('stock_list' => <span>$row</span>, 'filter' => <span>$filter</span>, 'page_count' => <span>$filter</span>['page_count'], 'record_count' => <span>$filter</span>['record_count'<span>]); </span><span>364</span> <span>return</span> <span>$stock_list</span><span>; </span><span>365</span> <span>} </span><span>366</span> ?>
define('IN_ECS', true);
require(dirname(__FILE__) . '/includes/init.php');
include_once(ROOT_PATH . 'includes/cls_image .php');
$image = new cls_image($_CFG['bgcolor']);
$exc = new exchange($ecs->table("materials"), $db, 'id' , '이름');
$_REQUEST['act']=!empty($_REQUEST['act']) ? $_REQUEST['act']:'list';
admin_priv('stock_alert');//权限:库存数weight修改
if($_REQUEST['act'] == 'list')
{
$stock_list=material_list();
$smarty->asset('ur_here', '물料库存列表');
$smarty->ass('stock_list', $stock_list[' stock_list']);
$smarty->asse('filter', $stock_list['filter']);
$smarty->ass('record_count', $stock_list['record_count']) ;
$smarty->ass('page_count', $stock_list['page_count']);
$smarty->ass('shelf_list', $shelf_list);
$smarty ->할당('full_page', 1);
$smarty->할당('action_link', array('href' => 'goods_stock.php?act=list', 'text' => '商品库存列表'));
$smarty->할당('action_link2', array('href' => 'materials.php?act=export', 'text' => '导出采购单'));
$smarty->할당('action_link3', array('href' => 'materials.php?act=add', 'text' => '添加물料'));
$smarty->display('material_list.htm');
}
elseif($_REQUEST['act'] == 'add')
{
$smarty ->할당('ur_here', "添加물料");
$smarty->할당('action_link', array('href' => 'materials.php?act=list', 'text' => '返回물料库存列表'));
$smarty->할당('form_action', "insert");
할당_query_info();
$smarty->display('material_info.htm' );
}
elseif($_REQUEST['act'] == '삽입')
{
$material['is_buy'] = isset($_REQUEST['is_buy']) ? intval($_REQUEST['is_buy']) : 1;
$material['name'] = isset($_REQUEST['name']) ? Trim($_REQUEST['name']) : '';
$material['modulus'] = isset($_REQUEST['modulus']) ? Trim($_REQUEST['modulus']) : '';
$material['safe_day'] = isset($_REQUEST['safe_day']) ? intval($_REQUEST['safe_day']) : 0;
$material['intent_day']= isset($_REQUEST['intent_day']) ? intval($_REQUEST['intent_day']) : 0;
$material['price'] = isset($_REQUEST['price']) ? floatval($_REQUEST['price']) : '0.00';
$material['weight'] = isset($_REQUEST['weight']) ? intval($_REQUEST['weight']) : 0;
$material['desc_info'] = isset($_REQUEST['desc_info']) ? Trim($_REQUEST['desc_info']) : '';
$material['remark'] = isset($_REQUEST['remark']) ? Trim($_REQUEST['remark']) : '';
$material['update_time']= gmtime();
$material['admin_id'] = $_SESSION['admin_id'];
if(empty($material['name']) || 비어 있음($material['modulus']) || 비어 있음($material['safe_day']) || 비어 있음($material['intent_day' ]))
{
sys_msg('name称、系数、안심천数、目标天数,空不能为或者格式不正确', 1);
}
$is_only = $exc ->is_only('name', $material['name']);
if (!$is_only)
{
sys_msg($material['name'].',已存재', 1);
}
/*处理图文*/
$material['img'] = basename($image->upload_image($_FILES['img'],'material'));
/*处리URL*/
$material['buy_url'] = sanitize_url($_POST['buy_url']);
/*插入数据*/
$db->autoExecute( $ecs->table('materials'), $material, 'INSERT', '', 'SILENT');
$link[0]['text'] = '继续添加';
$ link[0]['href'] = 'materials.php?act=add';
$link[1]['text'] = '返回列表';
$link[1]['href'] = 'materials.php?act=list';
sys_msg('添加成功', 0, $link);
}
elseif($_REQUEST[' act'] == '업데이트')
{
$id = isset($_REQUEST['id']) ? intval($_REQUEST['id']) : 0;
$material['is_buy'] = isset($_REQUEST['is_buy']) ? intval($_REQUEST['is_buy']) : 1;
$material['name'] = isset($_REQUEST['name']) ? Trim($_REQUEST['name']) : '';
$material['modulus'] = isset($_REQUEST['modulus']) ? Trim($_REQUEST['modulus']) : '';
$material['safe_day'] = isset($_REQUEST['safe_day']) ? intval($_REQUEST['safe_day']) : 0;
$material['intent_day']= isset($_REQUEST['intent_day']) ? intval($_REQUEST['intent_day']) : 0;
$material['price'] = isset($_REQUEST['price']) ? floatval($_REQUEST['price']) : '0.00';
$material['weight'] = isset($_REQUEST['weight']) ? intval($_REQUEST['weight']) : 0;
$material['desc_info'] = isset($_REQUEST['desc_info']) ? Trim($_REQUEST['desc_info']) : '';
$material['remark'] = isset($_REQUEST['remark']) ? Trim($_REQUEST['remark']) : '';
$material['update_time']= gmtime();
$material['admin_id'] = $_SESSION['admin_id'];
if(empty($id))
{
sys_msg('ID不能为 공간', 1);
}
if(empty($material['name ']) || 비어 있음($material['modulus']) || 비어 있음($material['intent_day']))
{
sys_msg(' name称、系数、안전천数、目标天数,不能为공간或者格式不正确', 1);
}
/*处理图文*/
if(!empty($_FILES['img'] ['name']))
{
$material['img'] = basename($image->upload_image($_FILES['img'],'material'));
}
/*处리URL*/
$material['buy_url'] = sanitize_url($_POST['buy_url']);
/*插入数据*/
$db->autoExecute($ ecs->table('materials'), $material, 'UPDATE', "id = '$id'");
$link[0]['text'] = '继续编辑';
$link[0]['href'] = 'materials.php?act=edit&id='.$id;
$link[1]['text'] = '返回列表';
$link[ 1]['href'] = 'materials.php?act=list';
sys_msg('编辑成功', 0, $link);
}
elseif ($_REQUEST['act'] =='편집')
{
$sql = "SELECT * FROM " .$ecs->table('재료'). " WHERE";
$material = $db->GetRow($sql);
$smarty->ass('ur_here', "编辑물料");
$smarty-> ('action_link', array('href' => 'materials.php?act=list', 'text' => '返回物料库存列表'));
$smarty->할당('재료 ', $material);
$smarty->ass('form_action', 'updata');
할당_query_info();
$smarty->display('material_info.htm');
}
elseif ($_REQUEST['act'] == '제거')
{
$id = intval($_GET['id']);
$exc-> drop($id);
$url = 'materials.php?act=query&' . str_replace('act=remove', '', $_SERVER['QUERY_STRING']);
ecs_header("위치: $urln");
종료;
}
elseif ($_REQUEST[ 'act'] == 'drop_img')
{
$id = isset($_GET['id']) ? intval($_GET['id']) : 0;
$sql = "SELECT img FROM " .$ecs->table('materials'). " WHERE id = '$id'";
$img_name = $db->getOne($sql);
if (!empty($img_name))
{
@unlink(ROOT_PATH . DATA_DIR . '/material/' .$img_name);
$sql = "업데이트" .$ecs->table('materials'). " SET img = '' WHERE id = '$id'";
$db->query($sql);
}
$link= array(array('text' => '계속 편집', 'href' => 'materials.php?act=edit&id=' . $id), array('text' => '다음으로 돌아가기 재료 재고 목록', 'href' => 'materials.php?act=list'));
sys_msg('이미지가 성공적으로 삭제되었습니다', 0, $link);
}
elseif ($ _REQUEST ['act'] == 'edit_stock_in') //저장 공간 변경
{
$id = intval($_POST['id']);
$val = json_str_iconv(trim($_POST[ 'val']));
/* 형식 확인*/
if(!is_numeric($val) || $val < 0)
{
make_json_error(sprintf("잘못된 형식 ! ", $val));
}
$exc->edit("stock_in='$val'", $id);
make_json_result(stripslashes($val));
}
elseif ($_REQUEST['act'] == 'edit_stock_out') //재고 부족 변경
{
$id = intval($_POST['id']);
$ val = json_str_iconv(trim($_POST['val']));
/* 형식 확인*/
if(!is_numeric($val) || $val < 0)
{
make_json_error(sprintf("잘못된 형식!", $val));
}
$sql="SELECT * FROM ".$GLOBALS['ecs']->table('materials' )." where id = '".$id."'";
$material = $GLOBALS['db']->getRow($sql);
if($val > $material[ 'stock_in' ] + $material['stock_number'])
{
make_json_error(sprintf("아웃바운드 수는 기존 재고와 들어오는 재고의 합보다 클 수 없습니다! ", $val));
}
$exc->edit("stock_out='$val'", $id);
make_json_result(stripslashes($val));
}
elseif ($_REQUEST['act'] == 'operate') //일괄 입력/종료
{
$sql = "UPDATE " .$ecs->table( 'materials '). " SET 재고_번호 = 재고_번호 + 재고_인 - 재고_아웃, 재고_아웃 = 0, 재고_인 = 0,admin_id=$_SESSION[admin_id],update_time = ".gmtime();
$db->query($ sql) ;
$link= array(array('text' => '재료 재고 목록으로 돌아가기', 'href' => 'materials.php?act=list'));
sys_msg(' 성공 일괄 입력/내보내기', 0, $link);
}
elseif ($_REQUEST['act'] == 'export') //구매 주문 내보내기
{
include_once ('includes /PHPExcel/PHPExcel.php');
include_once('corlor.php');
$objPHPExcel = new PHPExcel();
$filename = '재료 구매 목록_'.date( "YmdHi", gmtime());
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setTitle($filename);
$objPHPExcel-> getActiveSheet()- >getColumnDimension('A')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(15);
$objPHPExcel- >getActiveSheet()->getColumnDimension('C')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth (10);
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('F ')-> ;setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(10);
$objPHPExcel->getActiveSheet()- >getColumnDimension( 'H')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(10);
$objPHPExcel->getActiveSheet( )->getColumnDimension('J')->setWidth(10);
$objPHPExcel->getActiveSheet()->getStyle('C1')->getAlignment()-> ;setHorizontal(PHPExcel_Style_Alignment ::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle('D1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$ objPHPExcel-> getActiveSheet()->getStyle('F1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle(' G1')- >getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle('H1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle( 'I1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle('J1')->getAlignment()-> setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(10);
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', '재료 이름')
->setCellValue('B1', '그림')
->setCellValue('C1', '일일 사용량')
->setCellValue('D1', '기존 주식')
->setCellValue('E1', '회전일')
->setCellValue('F1', '안전 재고')
->setCellValue('G1', '대상 재고')
->setCellValue('H1', '추천 구매')
->setCellValue('I1', '단가')
->setCellValue('J1', '실제 단가')
->setCellValue('K1', '구매 링크');
$i=2;
$stock_list = Material_list (false);
$arr = $stock_list['stock_list'];
foreach($arr as $v)
{
if($v['img'])
{
$objPHPExcel->getActiveSheet()->getRowDimension($i)->setRowHeight(50);
$obj드로잉 = new PHPExcel_Worksheet_드로잉();
$obj드로잉->setName(' 상품 엄지손가락');
$obj드로잉->setDescription('Pgoods 엄지손가락');
$img_path = file_exists('../data/material/'.$v['img']) '. . /data/material/'.$v['img'] : '../images/no_img.jpg';
$obj드로잉->setPath($img_path);
$obj드로잉->setWidth ( 100);
$obj드로잉->setCoordinates('B'.$i);
$obj드로잉->setWorksheet($objPHPExcel->getActiveSheet());
}
else
{
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B'.$i, '')
}
$objPHPExcel->set ActiveSheetIndex(0)
->setCellValue('A'.$i, $v['name'])
('D'. $ I, $ v [ 'stock_number'])
-& gt; 'e'. $ I, $ v ['stock_day']
-& gt; setCellValue ('f' . $ i, $ v ['stock_safe'])
-& gt; . $ i, $ v ['stock_intent']
-& gt; setcellvalue ('h'. $ i, $ i, $ v ['proposal_buy'])
-& gt; . $ i, $ v ['가격'])
-& gt; setCellValue ('j'. $ i, '') >getFont()->getColor()-> setARGB(PHPExcel_Style_Color::COLOR_RED);
}
if($v['buy_url'] != 'http://')
사용 $objPHPExcel->setActiveSheetIndex(0)->getCell('K'.$i)->getHyperlink()->setUrl($v['buy_url']);
$objPHPExcel->setActiveSheetIndex (0)->getCell('K'.$i)->getHyperlink()->setTooltip('采购链接');
$objPHPExcel->setActiveSheetIndex(0)->getStyle(' K'.$i)->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_BLUE);
$objPHPExcel->setActiveSheetIndex(0)->getStyle('K'. $i)->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
}
else
{
$objPHPExcel->setActiveSheet Index(0)->setCellValue(' K'.$i, '');
}
$objPHPExcel->getActiveSheet()->getStyle('A'.$i)->getAlignment()->setVertical(PHPExcel_Style_Alignment: :VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('B'.$i)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel- >getActiveSheet()->getStyle('C'.$i)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle( 'D'.$i)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('E'.$i)-> getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('F'.$i)->getAlignment()->setVertical(PHPExcel_Style_Alignment: :VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('G'.$i)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel- >getActiveSheet()->getStyle('H'.$i)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle( 'I'.$i)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('J'.$i)-> getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('K'.$i)->getAlignment()->setVertical(PHPExcel_Style_Alignment: :VERTICAL_CENTER);
$i++;
}
$file_name = $filename.'.xls';
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$file_name.'"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory:: createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
}
elseif ($_REQUEST['act'] == '쿼리')
{
$stock_list = Material_list();
$smarty->할당('stock_list', $stock_list['stock_list']);
$smarty-> ;할당('필터', $stock_list['필터']);
$smarty->할당('record_count', $stock_list['record_count']);
$smarty->할당(' page_count', $stock_list['page_count']);
make_json_result($smarty->fetch('material_list.htm'), '', array('filter' => $stock_list['filter'], 'page_count' => $stock_list['page_count']));
}
function Material_list($is_pagination = true)
{
GLOBAL $ecs,$db;
$result = get_filter();
if ($result === false)
{
$filter['sort_by'] = 비어 있음($_REQUEST['sort_by']) ? 'id' : Trim($_REQUEST['sort_by']);
$filter['sort_order'] = 비어 있음($_REQUEST['sort_order']) ? 'desc' : Trim($_REQUEST['sort_order']);
$where = " WHERE 1 = 1 ";
$sql = ''.$ecs->에서 개수(t.id) 선택 테이블('재료'). ' as t '.$where;
$filter['record_count'] = $db->getOne($sql);
/* 分页大小 */
$filter = page_and_size($filter);
$sql = ''.
에서 t.*, au.user_name을 선택하세요. $ecs->table('materials').' 왼쪽으로 '.
$ecs->table('admin_user')." as au on t.admin_id=au.user_id ".$where.
' order by '.$filter['sort_by ']." ".$filter['sort_order'];
if ($is_pagination)
{
$sql .= " LIMIT " . $filter['시작'] . ',' . $filter['page_size'];
}
$end_time = strtotime(date("Y-m-d",gmtime()));
$start_time = $end_time - 7 * 86400;
$query = "".$GLOBALS['ecs']->table('order_info')에서 총 개수(order_id)를 선택하세요." WHERE synch_time < '".$end_time."' 및 synch_time >= '".$start_time."'";
$filter['orders'] = round($GLOBALS['db']->getOne($query) / 7);//7하늘평均订单数
$filter['orders'] = $filter['orders'] ? $filter['주문'] : 1400;
set_filter($filter, $sql);
}
else
{
$sql = $result['sql'];
$filter = $result['filter' ];
}
$row = $GLOBALS['db']->getAll($sql);
$orders = $filter['orders'];
foreach( $row as $k=>$val)
{
if ($is_pagination == false && $val['is_buy'] == 0) //불购买,불导출
{
unset($row[$k]);
계속;
}