| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- package service;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONObject;
- import common.ServiceController;
- import common.YosException;
- import common.data.Row;
- import common.data.Rows;
- import common.data.RowsMap;
- import common.data.SQLFactory;
- import org.apache.commons.lang.StringEscapeUtils;
- import org.apache.commons.lang.StringUtils;
- import restcontroller.webmanage.sale.item.Item;
- import utility.ERPDocking;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Calendar;
- import java.util.Date;
- public class AutoDockItemService extends ServiceController {
- @Override
- public void serviceRun() throws YosException {
- ArrayList<String> sqlList = new ArrayList<>();
- String siteid ="CCYOSG";
- Rows itemRows = dbConnect.runSqlQuery("SELECT itemid,itemno from plm_item WHERE siteid = '" + siteid + "' AND status = '新建' ");
- Rows itemRowsAll = dbConnect.runSqlQuery("SELECT itemid,itemno,status from plm_item WHERE siteid = '" + siteid + "'");
- //单位
- Rows unitRows = dbConnect.runSqlQuery("SELECT unitid,unitname from plm_unit WHERE siteid = '" + siteid + "'");
- RowsMap unitRowsMap = unitRows.toRowsMap("unitname");
- RowsMap itemRowsMap = itemRows.toRowsMap("itemno");
- RowsMap itemRowsMapAll = itemRowsAll.toRowsMap("itemno");
- ERPDocking erpDocking =new ERPDocking();
- Rows servicesRows = dbConnect.runSqlQuery("select lastruntime,lastruntime1 from sys_services where classname='AutoDockItemService'");
- Date date =new Date();
- if(!servicesRows.isEmpty()){
- if(StringUtils.isNotBlank(servicesRows.get(0).getString("lastruntime1"))){
- date=servicesRows.get(0).getDate("lastruntime1");
- }
- }
- dbConnect.runSqlUpdate("update sys_services set lastruntime1=now() where classname='AutoDockItemService'");
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- JSONArray jsonArray = erpDocking.getErpItemRows(simpleDateFormat.format(date), 100000, 1);
- if(!jsonArray.isEmpty()){
- for (Object object:jsonArray) {
- JSONObject jsonObject =(JSONObject)object;
- if(!itemRowsMapAll.containsKey(jsonObject.getString("fitemno"))){
- long itemid = createTableID("plm_item");
- SQLFactory sqlFactory = new SQLFactory(new Item(jsonObject), "货品档案新增");
- sqlFactory.addParameter("siteid", siteid);
- sqlFactory.addParameter("itemid", createTableID("plm_item"));
- sqlFactory.addParameter("username", "admin");
- sqlFactory.addParameter("userid", 1);
- sqlFactory.addParameter("itemno", jsonObject.getString("fitemno"));
- if(unitRowsMap.containsKey(jsonObject.getString("funit"))){
- sqlFactory.addParameter("unitid", unitRowsMap.get(jsonObject.getString("funit")).get(0).getLong("unitid"));
- }else {
- sqlFactory.addParameter("unitid", 0);
- }
- sqlFactory.addParameter("isauxunit", 0);
- sqlFactory.addParameter("unitgroupid","null");
- sqlFactory.addParameter("itemname", jsonObject.getString("fitemname"));
- sqlFactory.addParameter("isonsale", 0);
- sqlFactory.addParameter("model", jsonObject.getString("fmodel"));
- sqlFactory.addParameter("spec", jsonObject.getString("spec"));
- // 订单起订量
- sqlFactory.addParameter("orderminqty", 1);
- // 订单增量
- sqlFactory.addParameter("orderaddqty", 1);
- // 订单起订量控制单位(0:主单位;1:辅助单位)
- sqlFactory.addParameter("orderminqty_auxunit", 0);
- // 订单增量控制单位(0:主单位;1:辅助单位)
- sqlFactory.addParameter("orderaddqty_auxunit", 0);
- // 说明
- sqlFactory.addParameter("remarks", "");
- // 商品条形码
- sqlFactory.addParameter("barcode", "");
- // 是否单品管理
- sqlFactory.addParameter("skucontrol",0);
- // 是否批次管理
- sqlFactory.addParameter("batchcontrol", jsonObject.getBooleanValue("fisbatch"));
- // 毛重(g)
- sqlFactory.addParameter("grossweight", 0);
- // 净重(g)
- sqlFactory.addParameter("weight", 0);
- // 高度(mm)
- sqlFactory.addParameter("height", 0);
- // 宽度(mm)
- sqlFactory.addParameter("width", 0);
- // 长度(mm)
- sqlFactory.addParameter("length", 0);
- // 交期
- sqlFactory.addParameter("delivery", 1);
- // 牌价
- sqlFactory.addParameter("marketprice", 0);
- // 是否工具
- sqlFactory.addParameter("istool", 0);
- // 产品标准
- sqlFactory.addParameter("standards","");
- // 库存缺货标准
- sqlFactory.addParameter("stockstatus2", 1);
- // 库存充足标准
- sqlFactory.addParameter("stockstatus1", 1);
- // 保修期(年)
- sqlFactory.addParameter("warrantyday", 1);
- // 是否营销物料
- sqlFactory.addParameter("iswuliao",1);
- // 是否服务物料
- sqlFactory.addParameter("isservice", 0);
- sqlFactory.addParameter("color", jsonObject.getStringValue("fcolor"));
- sqlFactory.addParameter("cheek", jsonObject.getStringValue("fsizedescription"));
- sqlFactory.addParameter("delistingstatus","");
- sqlFactory.addParameter("ismodule", 0);
- sqlFactory.addParameter("packageqty", 0);
- sqlFactory.addParameter("iswoodproducts", 0);
- sqlFactory.addParameter("sa_customschemeid", 0);
- sqlFactory.addParameter("financeclasstype", jsonObject.getStringValue("fdescription"));
- sqlFactory.addParameter("stockno", jsonObject.getStringValue("fstockno"));
- sqlFactory.addParameter("volume", jsonObject.getBigDecimalValue("fvolume"));
- sqlList.add(sqlFactory.getSQL());
- // 货品档案扩展属性字段表
- sqlFactory = new SQLFactory(new Item(jsonObject), "货品档案-扩展新增");
- sqlFactory.addParameter("siteid", siteid);
- sqlFactory.addParameter("userid", 1);
- sqlFactory.addParameter("username", "admin");
- sqlFactory.addParameter("plm_itemextendid", createTableID("plm_itemextend"));
- sqlFactory.addParameter("itemid", itemid);
- sqlFactory.addParameter("material", jsonObject.getString("fmaterialdes"));
- sqlFactory.addParameter("pressure", "");
- sqlFactory.addParameter("caliber", "");
- sqlFactory.addParameter("butterflyplatedrive", "");
- sqlFactory.addParameter("connection", "");
- sqlFactory.addParameter("valveplatematerial", "");
- sqlFactory.addParameter("bodymaterial", "");
- sqlFactory.addParameter("actuatortype", "");
- sqlFactory.addParameter("actuatorbrand", "");
- sqlFactory.addParameter("isbutterfly", 0);
- sqlFactory.addParameter("erpitemno", jsonObject.getString("fitemno"));
- sqlFactory.addParameter("erpitemname", jsonObject.getString("fitemname"));
- sqlFactory.addParameter("specalnote","");
- sqlFactory.addParameter("prodline", "");
- sqlFactory.addParameter("device", "");
- sqlList.add(sqlFactory.getSQL());
- }else{
- if(itemRowsMapAll.get(jsonObject.getString("fitemno")).get(0).getString("status").equals("新建")){
- sqlList.add("update plm_item set itemname='"+jsonObject.getString("fitemname")+"',volume='"+ jsonObject.getStringValue("fvolume")+"' where itemid="+itemRowsMapAll.get(jsonObject.getString("fitemno")).get(0).getLong("itemid"));
- }
- }
- }
- }
- dbConnect.runSqlUpdate(sqlList);
- }
- }
|